解决方案 »

  1. 新建一个html页面 一个php页面
    html页面写表单,php页面连接数据库,写php程序接受页面传递过来的值
    然后insert到数据库就行了!
      

  2. 检测用户名是否已有,可以用jquery中的$.post()方法连接数据库查看是否已存在,若存在给出提示,这样可以实现无刷新验证,身份证的话JS验证吧,信息都正确后就提交到php页面进行数据库操作,注册新用户
      

  3. 后台:
    <?php
    $con=mysql_connect("   ","   ", "   ");     //简历链接并赋值给变量
    if($con)
    {
       mysql_select_db("    ",$con);      //选择操作库
       $sql="CREATE TABLE user_data
    {
       id  int(5) not null auto_increment primary key,
       name  char(10) not null default ' ',
       card   char(18) not null  default '',
       username char(10)  not null default '',
       password  char(12) not null default ''
    )";
    $do=mysql_query($sql,$con);    //执行建表SQL语句
    if($do)                        //如果成功执行
    {
       echo  "成功在        数据库中创建用户表!";      //输出内容
    }
    else echo "建表时出现错误!";
    }
    else                                //如果返回False
    {
       echo "链接到服务器时出现错误!";
    }
    ?>
      


  4. 不好意思现在才给你弄出来,废话不说,直接上代码:
    CREATE TABLE `user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `name` varchar(32) DEFAULT NULL,
      `uid` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
      `uname` varchar(64) CHARACTER SET latin1 DEFAULT NULL,
      `password` varchar(64) CHARACTER SET latin1 DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
      

  5. conn.php
    <?php
    $conn=mysql_connect('localhost','root','');
    mysql_select_db('test');
    mysql_query("SET NAMES utf8");reg.php<?php
    include 'conn.php';?>
    <html>
    <header>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
    </header>
    <body>
    <script type="text/javascript">
    $(document).ready(function(){
    $('#reg').click(function(){
    p1=$.trim($('#p1').val());
    p2=$.trim($('#p2').val());
    uid=$.trim($('#uid').val());
    name=$.trim($('#name').val());
    uname=$.trim($('#uname').val());
    if(uid.length<4||uid.length<4){
    alert('必须输入后4位身份证号');
    $('#uid').focus();
    return false;
    }
    if(p1!=p2){
    alert('两次密码不一样');
    $('#p2').focus();
    return false;
    } $.post("check.php",{password:p1,name:name,uid:uid,uname:uname},function(result){

    if(result==-1){
    alert('姓名或身份证后四位不正确');
    $('#name').focus();
    return false;
    }else if(result==-2){
    alert( '账号已经注册');
    $('#name').focus();
    return false;
    }else if(result==1){
    alert('恭喜你注册成功!');
    $('#tips').html('姓名:'+name+'用户名:'+uname+'密码'+p1);
    }
    });
    });
    });
    </script>
    <table align="center">
    <tr><td>姓名:</td><td><input type="text" name="name" id='name' maxlength='12'></td></tr>
    <tr><td>身份证后四位:</td><td><input type="text" name="uid" id='uid' maxlength='4'></td></tr>
    <tr><td>用户名:</td><td><input type="text" name="uid" id='uname' maxlength='12'></td></tr>
    <tr><td>密码:</td><td><input type="password" name="password1" id="p1" maxlength='12'></td></tr>
    <tr><td>重复密码:</td><td><input type="password" name="password2" id='p2' maxlength='12'></td></tr>
    <tr align="center"><td colspan="2"><button id="reg">注册</button> </td></tr>
    <tr id='tips'></tr>
    </table>
    </body>
    </html>
      

  6. check.php
    <?php
    include 'conn.php';
    $puid=$_POST['uid'];
    $name=$_POST['name'];
    $password=$_POST['password'];
    $uname=$_POST['uname'];
    $sql="select * from user where name='$name' and uid like '%$puid'";
    if($result=mysql_query($sql)){
    while ($row = mysql_fetch_array($result)) {
            $uid=$row['id'];
            $uname2=$row['uname'];
            $password2=$row['password'];
    }
    if(strlen($name2)>0||strlen($password2)>0){
    echo -2;exit;
    }
    if(is_numeric($uid)){
    $sql2="update user set uname=$uname,password=$password where id=$uid ";
    if(mysql_query($sql2)){
    echo 1;
    }
    }else{
    echo -1;exit;
    }
    }else{
    echo -1;exit;
    }?>
      

  7. 测试我输入什么也没提示输入错误,包括javascript的判断,看了半天也不知道哦错在哪里!
      

  8. 请确认该js:http://code.jquery.com/jquery-1.4.1.min.js可以访问
      

  9. 你自己去下载一个jquery然后把它引入进去就好了
      

  10. 是的,我引入了jquery,但是确实无法运行,不过我把这个代码复制到某些网站测试代码的地方时可以运行的,
      

  11. reg.php中的
    <script type="text/javascript">
    下面加入:var p1,p2,uid,name,uname;//js申明变量
    就好了。我粗心了。
      

  12. 我把代码完整的发一遍吧:
    CREATE TABLE `user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `name` varchar(32) DEFAULT NULL,
      `uid` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
      `uname` varchar(64) CHARACTER SET latin1 DEFAULT NULL,
      `password` varchar(64) CHARACTER SET latin1 DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
    conn.php<?php
    $conn=mysql_connect('localhost','root','');
    mysql_select_db('test');
    mysql_query("SET NAMES utf8");
    reg.php<?php
    include 'conn.php';?>
    <html>
    <header>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
    </header>
    <body>
    <script type="text/javascript">
    var p1,p2,uid,name,uname;
    $(document).ready(function(){
    $('#reg').click(function(){
    p1=$.trim($('#p1').val());
    p2=$.trim($('#p2').val());
    uid=$.trim($('#uid').val());
    name=$.trim($('#name').val());
    uname=$.trim($('#uname').val());
    if(uid.length<4||uid.length<4){
    alert('必须输入后4位身份证号');
    $('#uid').focus();
    return false;
    }
    if(p1!=p2){
    alert('两次密码不一样');
    $('#p2').focus();
    return false;
    } $.post("check.php",{password:p1,name:name,uid:uid,uname:uname},function(result){

    if(result==-1){
    alert('姓名或身份证后四位不正确');
    $('#name').focus();
    return false;
    }else if(result==-2){
    alert( '账号已经注册');
    $('#name').focus();
    return false;
    }else if(result==1){
    alert('恭喜你注册成功!');
    $('#tips').html('姓名:'+name+'用户名:'+uname+'密码'+p1);
    }
    });
    });
    });
    </script>
    <table align="center">
    <tr><td>姓名:</td><td><input type="text" name="name" id='name' maxlength='12'></td></tr>
    <tr><td>身份证后四位:</td><td><input type="text" name="uid" id='uid' maxlength='4'></td></tr>
    <tr><td>用户名:</td><td><input type="text" name="uid" id='uname' maxlength='12'></td></tr>
    <tr><td>密码:</td><td><input type="password" name="password1" id="p1" maxlength='12'></td></tr>
    <tr><td>重复密码:</td><td><input type="password" name="password2" id='p2' maxlength='12'></td></tr>
    <tr align="center"><td colspan="2"><button id="reg">注册</button> </td></tr>
    <tr id='tips'></tr>
    </table>
    </body>
    </html>check.php<?php
    include 'conn.php';
    $puid=$_POST['uid'];
    $name=$_POST['name'];
    $password=$_POST['password'];
    $uname=$_POST['uname'];
    $sql="select * from user where name='$name' and uid like '%$puid'";
    if($result=mysql_query($sql)){
    while ($row = mysql_fetch_array($result)) {
            $uid=$row['id'];
            $uname2=$row['uname'];
            $password2=$row['password'];
    }
    if(strlen($name2)>0||strlen($password2)>0){
    echo -2;exit;
    }
    if(is_numeric($uid)){
    $sql2="update user set uname=$uname,password=$password where id=$uid ";
    if(mysql_query($sql2)){
    echo 1;
    }
    }else{
    echo -1;exit;
    }
    }else{
    echo -1;exit;
    }?>
      

类似问题 »