2013-04-08 54 views
-6

我有一个HTML表单,用户可以在其中输入电子邮件地址和密码,然后单击“提交”以创建成员资格,然后将此数据发送到数据库。我查看了代码,没有看到任何问题,但提交内容不会出现在mySQL数据库中。另外,我一直试图通过输入他们的电子邮件和密码将用户重定向到一个页面。使用表单将登录信息发送到数据库

形式的代码如下:

<form class="form-signin" action="signinprocessor.php" method="post" form name ="form1"> 
    <h3 class="muted">moreo</h3> 
    <h2 class="form-signin-heading">Please sign in</h2> 
    <input type="text" class="input-block-level" placeholder="Email address" input name="myusername" id="myusername"> 
    <input type="password" class="input-block-level" placeholder="Password" input name="mypassword" id="mypassword"> 
    <label class="checkbox"> 
     <input type="checkbox" value="remember-me"> Remember me 
    </label> 
    <button class="btn btn-medium btn-primary" type="submit" name="submit" value="login">Sign in</button> 
    </form> 

一旦他们点击提交,他们被带到signinprocessor.php其中,代码如下:

function createUser() { 
    $con = mysql_connect("localhost","root",""); 
    if (!$con) 
     { 
    die('Could not connect: ' . mysql_error()); 
     } 
     mysql_select_db("test", $con); 

     $username = mysql_real_escape_string($_POST['myusername'], $con); 
     $password = mysql_real_escape_string($_POST['mypassword'], $con); 
     $sql = "UPDATE members SET username='$username',password='$password'"; 
     mysql_query($sql , $con); 

     mysql_close($con); 

    } 
+0

1st。 mysql_函数被删除!使用mysqli或PDO-mysql代替! 2nd。不要保存普通密码! – Svetoslav 2013-04-08 04:23:08

+2

你有没有在'signinprocessor.php'中调用'createUser()'这个函数?我没有看到它被称为。 – 2013-04-08 04:25:20

+0

您是否检查数据是否已发布到signinprocessor.php – 2013-04-08 04:25:45

回答

1

特殊照顾只是试图建立一个新用户不用UPDATE使用INSERT

$sql = "INSERT INTO members(username,password) VALUES('$username','$password'"); 
1

1)如果要创建一个用户,密码必须加密(散列)像md5()然后使用INSERT声明,而不是更新这样的:

$sql = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'"); 

2)你没有打电话给createUser()方法。

UPDATE

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db'); 

然后

$query = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'"); 
$result = $mysqli->query($query); 

更多信息请访问此link

+0

,因为mysqli和PDO都剩下了,你会如何将它转换为mySQLI? – buttonitup 2013-04-08 06:00:08

+0

看到我的更新.. – 2013-04-08 06:07:25

0

为什么我因为这篇文章被阻止提问?这是最常见的问题和答案,但它收到7倒票。随着mySQL的贬低和人们被迫进入PDO或mySQLI,我受到惩罚是不公平的。我问你,用户,投票给我,以便我可以再次使用该网站。谢谢。

相关问题