Post函数与数据库无法正常工作
问题描述:
我在使用此代码时遇到了一些问题。我正在连接到一个SQL数据库并且它连接了,但是这个post函数似乎没有工作。当我检查元素并查看网络连接时,它会发布一个内容,而不是其他两件事。如果有人能帮助我,那会很棒。Post函数与数据库无法正常工作
感谢,
本
<?php
$connection = mysql_connect("localhost", "root", "password") or die("There is no connection to the server");
mysql_select_db("tutorial", $connection) or die("Couldn't connect to database");
if ($_POST['login']){
if ($_POST['username'] && $_POST['password']){
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string(hash("sha512", $_POST['password']));
$user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `Username`='$username'"));
if ($user == '0'){
die("That username does not exist. <a href='index.php'>← Back</a>");
echo "<h1> Test </h1>";
}
if ($user['Password'] != $password) {
die("Incorrect password! <a href='index.php'>← Back</a>");
echo "<h1> Test </h1>";
}
$salt = hash("sha512", rand() . rand() . rand());
setcookie("c_user", hash("sha512", $username), time() + 24 * 60 * 60, "/");
setcookie("c_salt", $salt, time() + 24 * 60 * 60, "/");
$userID = $user['ID'];
mysql_query("UPDATE `users` SET `Salt`='$salt' WHERE `ID`='$userID'");
die("You are now logged in as $username");
}
}
echo "
<body style='font=family: verdana, sans-serif;'>
<div>
<h1>Login to Access Coins</h1>
<br />
<form action='' method='post'>
<table>
<tr>
<td>
<b> Username </b>
</td>
<td>
<input type='text' name='username' style='padding: 6px;' />
</td>
</tr>
<tr>
<td>
<b>Password</b>
</td>
<td>
<input type='password' name='password' style='padding: 6px;' />
</td>
</tr>
<tr>
<td>
<input type='submit' value='Login' />
</td>
</tr>
</table>
</form>
<br />
<h6>
Need an account? <a href='register.php'>Click Here
</h6>
</div>
</body>
";
答
你的问题来与您的期望$ _ POST来定义[“登录”],并依靠它来记录用户的事实。作为登录没有定义,你可以简单地删除(或进一步使用评论):
if ($_POST['login']){
和相应的
}
解决此的另一种方法是把:
<input name="login" type ="hidden" value="">
你的表格里面这个值可以通过。
+0
非常感谢!我一直在努力解决这个问题! @technico – benpete420
“邮政功能似乎不工作”是什么意思? – developerwjk
我为您介绍一位新朋友,每当您在表单提交时发现错误或缺少参数时,它都会对您有所帮助:'print_r($ _ POST);' 您会看到这些值是否正确传递到您的页面。 – technico
@developerwjk:我们必须说“邮政方法似乎没有工作”,是不是? – technico