1

我做了一个小网站,非会员可以在网站上注册,注册的时候应该在数据库表中搅动一下自己的资料。我有这个工作,但现在它不是,它除了将详细信息存储在数据库中之外,它还能做所有事情。有人可以帮忙吗?

    $host="localhost"; // Host name
    $username="root"; // Mysql username
    $password=""; // Mysql password
    $db_name="test"; // Database name
    $tbl_name="members"; // Table name

       // Connect to server and select databse.
        mysql_connect("$host", "$username", "$password")or die("cannot connect");
        mysql_select_db("$db_name")or die("cannot select DB");

     // username and password sent from form
   $myusername=$_POST['myusername'];
   $mypassword=$_POST['mypassword'];
   $repeatpassword=$_POST['repeatpassword'];

   // To protect MySQL injection (more detail about MySQL injection)
   $myusername = strip_tags($myusername);
   $mypassword = strip_tags($mypassword);
   $repeatpassword = strip_tags($repeatpassword);
   $myusername = mysql_real_escape_string($myusername);
   $mypassword = mysql_real_escape_string($mypassword);
   $repeatpassword = mysql_real_escape_string($repeatpassword);


   if($myusername&&$mypassword&&$repeatpassword)
    {
        if ($mypassword==$repeatpassword)
        {
            if (strlen($myusername)>10)
                {
                header("location:erroruname.php");
                }
                else
                {
                if (strlen($mypassword)>10||strlen($mypassword)<5)

                header("location:errorpword.php");

                else 
                {

                $queryreg = mysql_query("

                 INSERT INTO $tbl_name VALUES('','$myusername','$mypassword')
        ");
            session_register("myusername");
            session_register("mypassword");
            header("location:insertdetail.php?myusername=" . $username);            
        }
        }

}
else
    header("location:errornomatch.php");
     }
      else
              header("location:errorfields.php");
4

3 回答 3

2

这从来没有工作,因为你没有在你的INSERT

INSERT INTO $tbl_name VALUES('','$myusername','$mypassword')

需要看起来像

INSERT INTO $tbl_name(`column_a`, `username`, `password`) 
VALUES('','$myusername','$mypassword')
于 2012-05-28T00:25:14.370 回答
1

该表中是否有自动增量列?如果是这样,请不要使用' ',而是不要输入任何内容。在这种情况下,您应该只指定两列(用户名和密码)。

于 2012-05-28T00:27:34.373 回答
0

回显查询并在 phpmyadmin 中手动运行 sql 查询

echo "INSERT INTO $tbl_name VALUES('','$myusername','$mypassword') "; die();
于 2012-05-28T05:23:31.293 回答