我设置了一个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 :(得分:1)
您只是尝试创建新用户,而不是使用UPDATE
使用INSERT
$sql = "INSERT INTO members(username,password) VALUES('$username','$password'");
答案 1 :(得分:1)
1)如果您要创建用户,则密码必须加密(散列),如md5()
,然后使用INSERT
语句而不是像这样更新:
$sql = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'");
2)你没有调用createUser()
方法。
<强>更新强>
$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。
答案 2 :(得分:0)
为什么我因为这篇文章被阻止提问?这绝对是通常的问答,但却得到了7票。随着mySQL的弃用和人们被迫进入PDO或mySQLI,我为此受到惩罚是不公平的。我要求你,用户,投票给我,这样我就可以再次使用该网站了。谢谢。