喜悦国际村 
» 游客:  注册 | 登录 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【北京】--【低薪】-【诚聘】--- 高级PHP工程师,WEB前台开发工程师

上一主题 下一主题
 16  1/2  1  2  > 
     
标题: [经验] ajax+php无刷新注册  
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
ajax+php无刷新注册

首先我是新手,写的不好别骂我
看到村子http://www.phpx.com/happy/viewth ... C3%BB%A7&page=1这帖子不能用,反正我是没怎么看懂,又去网上找了,发现只能在ie下运行,东抄一点,西抄一点,再自己写一点,总算是完成了,应该还有很多bug,发上来和大家分享下,注册时头像上传还有些问题,不知道为什么不支持中文,英文的(用户名被占用,可以注册)那几句应该怎么写?



测试页面http://www.hellophper.com/user/register.php

[ 本帖最后由 沉默的抗议 于 2007-10-15 08:36 AM 编辑 ]


 附件: 您所在的用户组无法下载或查看附件
2007-10-15 08:30 AM#1
查看资料  发短消息  QQ  顶部
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
[推荐阅读] 李宇春最新亮照
主要的代码

数据库
CREATE TABLE `lw_users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(50) NOT NULL,
  `password` varchar(250) default NULL,
  `groupid` int(11) NOT NULL,
  `picurl` varchar(150) default NULL,
  `date` varchar(250) NOT NULL,
  `pay` int(11) NOT NULL,
  `balance` int(11) NOT NULL,
  `mail` varchar(255) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>注册</title>
    <meta name="author" content="沉默的抗议 | [url]www.94share.com[/url]" />
    <meta name="keywords" content="ajax,php,无刷新注册">
    <meta name="description" content="ajax,php,无刷新注册" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="ajaxreg.js"></script>
</head>

<body>
    <script>
    function validateform()
{
    if (document.tx1.name.value=="")
    {
        window.alert ("输入姓名")
            return false;
    }
    
    if (document.tx1.password.value=="")
    {
        window.alert ("输入密码")
            return false;
    }
    if (document.tx1.repassword.value=="")
    {
        window.alert ("再次输入密码")
            return false;
    }

    if (document.tx1.repassword.value!=document.tx1.password.value)
    {
        window.alert ("2次输入密码不一样")
            return false;
    }
}
</script>
<?php include "config.php" ?>
<?php 
include "include/header.htm" ?>    
<?php
    
if($_POST[B2] == "")    
{
    echo 
"
<form enctype = 'multipart/form-data' method = 'POST' action = 'register.php' name = 'tx1'
    onsubmit = 'return validateform(this.form)'>
    <div class='old_test'>
        
    <div class='new_test'>        
    用户名    
        
        <input type='text' name='name' id='js_name' onBlur='CallServer_name()'>
            <div id='name_check'></div>
        </div>
        <br/>
            
                <div class='new_test'>        
    Email    
        
    <input type='text' name='email' id='js_email' onBlur='CallServer_email()'>
            <div id='email_check'></div>
        </div>
        <br/>
            
            <div class='new_test'>
    密      码    
                
                <input type='password' name='password' id='userpwd' onBlur='checkpass()'>
                    <div id='password2'></div>
        </div>
                    
                <br/>
                    
                    
            <div class='new_test'>    
    再次输入密码
                
                    <input type='password' name='repassword' id='reuserpwd' onBlur='checkpass1()'>
                        <div id='password3'></div>
                </div>
                        
                        <br/>
                            
                            <div class='new_test'>
                                头像url
                                <input type='text' name='photo' >
                                </div>
                                <div class='new_test'>
                                上传头像
                                <input type='file' name='userfile'>
                                    </div>
                                    
                        <br/>
                                        
        <div class='message_left'>
    <input type='submit' name='B2' value='注册' />
            </div>
            
</div>
  </form>
"
;
}else
    {
        
        if(
$_POST[name] != "")
{
    
    
    if(
$_POST[photo] == "")
    {
    
$uploadaction 0;
$timelimit 60;

$uploaddir 'upload/';

$uploadfile $uploaddir.$_FILES['userfile']['name'];
$tmpfile $_FILES['userfile']['tmp_name'];
$file_size $_FILES['userfile']['size'];
$error $_FILES['userfile']['error'];

if((
$tmpfile != "none") && ($tmpfile != ""))
{
    
$strfile = (string)$file_size."字节";
}

if ( !
in_arraystrtolower$_FILES['userfile']['type'] ) , array( "image/jpg" "image/gif" "text/plain","application/octet-stream" ) ) ) 

echo 
"你发布的图片类型不正确或没有选择头像";
} else{


if(!
file_exists($uploadfile))
{


    if(
move_uploaded_file($tmpfile,$uploadfile))
    {
        echo 
"文件上传成功";
        
$success=1;
        
//echo $_FILES['userfile']['type'];
    
}else{
        echo 
"上传失败";
        echo 
"$error";
        
print_r($_FILES);
        echo 
"<a href='add.php'>点击返回</a>";
    }

}else{
        echo 
"文件重名";
        echo 
"<a href='add.php'>点击返回</a>";
    }

}
set_time_limit(30);
    }else{
        
$uploadfile $_POST[photo];
    }


$query "select * from lw_users where username = '$_POST[name]'";//链接表
$result mysql_db_query($lw_dbname,$query);//执行结果
$row = @mysql_num_rows($result);//行数
        
}
        if(
$row == 0)
        {
            if(
$uploadfile == "")
            {
                
$uploadfile "upload/default.gif";
            }
        
$day date("H.m.d");
        
$query "INSERT INTO `lw_users` (`id`,`username`,`mail`,`password`,`groupid`,`picurl`,`date`) values(null,'$_POST[name]','$_POST[email]','$_POST[password]','3','$uploadfile','$day')"
         
$result mysql_query($query);
 
 
mysql_close($connect);
 echo 
"<br/>";
 echo 
"<div class='message_right'>";
 echo 
"注册成功,正在跳转";
 echo 
"</div>";
 echo 
"<meta http-equiv='Refresh' content='3;URL=../index.php'>";
         }else{
             echo 
"用户名已存在";
             echo 
"<meta http-equiv='Refresh' content='1;URL=login.php'>";
         }
    }
    
?>
    <?php include "include/foot.htm" ?>
</body>
</html>
2007-10-15 08:31 AM#2
查看资料  发短消息  QQ  顶部
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
[推荐阅读] 无债一身轻。
check-name.php和check-email.php



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    
    <title>Untitled</title>

</head>

<body>
<?php include "config.php" ?>
<?php
//    header('Content-Type:text/html;charset=GB2312');
//echo "loading...";
//sleep(1); 

$js_name=$_GET["js_name"];
//$username=trim($_GET['username']);
$query "select * from lw_users where username = '$js_name'";//链接表
$result mysql_db_query($lw_dbname,$query);//执行结果
$row = @mysql_num_rows($result);//行数

    
if($row == 0)
        {
            echo 
"Users who have not been registered";
    }else{
        echo 
"Users who have already been registered";
    }
    


?>



</body>
</html>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<?php include "config.php" ?>
<?php

$js_email
=$_GET["js_email"];

//echo "$js_email";
$query "select * from lw_users where mail = '$js_email'";//链接表
$result mysql_db_query($lw_dbname,$query);//执行结果
$row = @mysql_num_rows($result);//行数

    
if($row == 0)
        {
            echo 
"email have not been registered";
    }else{
        echo 
"email have already been registered";
    }

?>

</body>
</html>
2007-10-15 08:32 AM#3
查看资料  发短消息  QQ  顶部
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
[推荐阅读] linux管理员手册谁有,帮忙发一个,给我吧
ajaxreg.js



<?php
var xmlHttp createXmlHttpRequestObject();

function 
createXmlHttpRequestObject()
{
    var 
xmlHttp;
    
    try
    {
        
xmlHttp = new XMLHttpRequest();
    }
    catch (
e)
        
        {
            var 
XmlHttpVersions = new Array("MSXML2.XMlHTTP.6.0",
                                            
"MSXML2.XMlHTTP.5.0",
                                            
"MSXML2.XMlHTTP.4.0",
                                            
"MSXML2.XMlHTTP.3.0",
                                            
"MSXML2.XMlHTTP",
                                            
"Microsoft.XMlHTTP");
    for(var 
i=0;i<XmlHttpVersions.length && !xmlHttp;i++)
    {
        try
        {
            
xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
        }
        catch (
e) {}
    }
        }
        
        
        if(!
xmlHttp)
            
alert("Error crearing XMLHttpRequest");
        else
            return 
xmlHttp;
}




function 
CallServer_name()
{
var 
js_name=document.getElementById("js_name").value;
        if (
js_name!="")
        {
var 
url ="check-name.php?js_name="+js_name//UTF-8下要用encodeURI
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=handleRequestStateChange_name;
xmlHttp.send(null);
        }else
        {
            
nameDiv document.getElementById("name_check");
            
nameDiv.innerHTML "Users were not empty";
        
//alert("请您填写用户名!");
        
}

}


function 
CallServer_email()
{
    
var 
js_email=document.getElementById("js_email").value;
        if (
js_email!="")
        {
        
//    myDiv = document.getElementById("email_check");
        //    myDiv.innerHTML = "js_name";
var url ="check-email.php?js_email="+js_email//UTF-8下要用encodeURI
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=handleRequestStateChange_email;
xmlHttp.send(null);
        }else
        {
            
myDiv document.getElementById("email_check");
            
myDiv.innerHTML "email were not empty";
        
//alert("请您填写用户名!");
        
}

}




function 
handleRequestStateChange_name()
{
    
nameDiv document.getElementById("name_check");
    if(
xmlHttp.readyState 4)
    {
    
//    nameDiv.innerHTML = "loading...<br/>";

    
}
        else     if(
xmlHttp.readyState == 4)
        {
            if(
xmlHttp.status == 200)
            {
                
                try
                {
                
nameDiv.innerHTML=xmlHttp.responseText;
                }
                catch (
e)
                {
                    
alert("error" e.toString());
                }
            }
            else
            {
                
alert("problrm" e.toString());
            }
        }
}


function 
handleRequestStateChange_email()
{
//    alert("请您填写用户名!");
    
myDiv document.getElementById("email_check");
    if(
xmlHttp.readyState 4)
    {
    
//    myDiv.innerHTML = "loading...<br/>";

    
}
        else     if(
xmlHttp.readyState == 4)
        {
            if(
xmlHttp.status == 200)
            {
                
                try
                {
                
myDiv.innerHTML=xmlHttp.responseText;
                }
                catch (
e)
                {
                    
alert("error" e.toString());
                }
            }
            else
            {
                
alert("problrm" e.toString());
            }
        }
}




function 
checkpass1()
  {
    var 
Inform="tx1";
 var 
Inputname="repassword";
    var 
Form=Inform+"."
    
eval("Temp="+Form+Inputname+".value;"); 
 
//alert(Temp);
 
if(Temp==""){ 
 
msg="此项不能为空"
 }
 else
 {  
      if(
Temp.length<6||Temp.length>20)
   {
     
msg="密码必须在6~20个字符之间";
   }
   else
   {
  var 
Inputname1="password";
     eval(
"Temp1="+Form+Inputname1+".value");
  if (
Temp!=Temp1)
  {
          eval(
Form+Inputname+".value='';");
    eval(
Form+Inputname1+".value='';");
    eval(
Form+Inputname1+".focus();");
    
msg="两次密码不一样!"
    
msg1="";
    var 
ch1=document.getElementById("password2");
    
ch1.innerHTML="<font color='#aaaaaa'>"+msg1+"</font>";
  }
  else
  {
    
msg="输入正确";
  }
   }
 }
 var 
ch=document.getElementById("password3");
 
ch.innerHTML="<font color='#aaaaaa'>"+msg+"</font>"
  }
  
  
function 
checkpass()
  {
    var 
Inform="tx1";
 var 
Inputname="password";
    var 
Form=Inform+"."
    
eval("Temp="+Form+Inputname+".value;"); 
 
//alert(Temp);
 
if(Temp==""){ 
 
msg="此项不能为空"
 }
 else
 {  
      if(
Temp.length<6||Temp.length>20)
   {
     
msg="密码必须在6~20个字符之间";
   }
   else
   {
     
msg="输入正确";
   }
 }
 var 
ch=document.getElementById("password2");
 
ch.innerHTML="<font color='#aaaaaa'>"+msg+"</font>";
  }
?>
2007-10-15 08:33 AM#4
查看资料  发短消息  QQ  顶部
 
喜悦村支书
中级会员
Rank: 3Rank: 3


UID 82061
精华 0
积分 206
帖子 253
金钱 206 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-10-23
状态 离线
[推荐阅读] 一个http的问题
好!帮顶一下.
2007-10-15 09:48 AM#5
查看资料  发短消息  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 7411
帖子 1669
金钱 7401 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] base64_encode问题,这个问题很奇怪
不错,支持一下



在场外支持奥运.....
2007-10-15 02:48 PM#6
查看资料  访问主页  发短消息  QQ  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 1K多
如果用PHP的话,xajax很简单吧



五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2007-10-18 10:07 AM#7
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
[推荐阅读] 求职 web开发程序员(php)
是比较简单,发现帖子被加分了,第一次被加分
2007-10-18 11:04 AM#8
查看资料  发短消息  QQ  顶部
 
zw870307
中级会员
Rank: 3Rank: 3


UID 92902
精华 0
积分 330
帖子 296
金钱 330 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-5-12
状态 离线
[推荐阅读] Apache基本配置指南(给新手看)
config去哪了
2007-10-20 03:05 PM#9
查看资料  Blog  发短消息  顶部
 
沉默的抗议
金牌会员
Rank: 6Rank: 6



UID 88384
精华 0
积分 1045
帖子 507
金钱 1045 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2007-2-16
状态 离线
[推荐阅读] 关于POST递交值的问题


QUOTE:
原帖由 zw870307 于 2007-10-20 03:05 PM 发表
config去哪了
自己加,链接数据库
2007-11-8 11:19 AM#10
查看资料  发短消息  QQ  顶部
 16  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.049613 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP