我的代码不会向我回应,但我相信它应该有效。我试图让它告诉我,如果它在我的数据库中找到一行,为了匹配它并告诉我即时登录,或者如果它没有找到任何行,那么就回显出组合是无效的。无论如何,它不会回应一件事吗?我对此很陌生,我似乎无法弄明白。请你的魔法吗?
注意:查询中引用的所有数据库都存在,并且它也连接到该数据库。
谢谢!
<?php
if (isset($_POST['username'])&&isset($_POST['password']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$password_hash = md5($password);
if (!empty($username)&&!empty($password))
{
$query = "SELECT `id` FROM `users` WHERE `username`='$username' AND `password`='$password_hash'";
if ($query_run = mysql_query($query))
{
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows==0)
{
echo 'Invalid username password combination';
}
else
{
echo 'Ok.';
}
}
}
}
?>
<form action="<?php echo $current_file; ?>" method="POST">
Username: <input type="text" name="username" class="login">
Password: <input type="password" name="password" class="login">
<input type="submit" value="Login">
</form>
答案 0 :(得分:1)
您没有连接到数据库。你需要添加这样的东西:
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
答案 1 :(得分:0)
你有很多其他没有相应的其他声明打印出来的东西。如果其中一个if条件为false,则不会输出outpu。尝试:
if (isset($_POST['username'])&&isset($_POST['password']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$password_hash = md5($password);
if (!empty($username)&&!empty($password))
{
$query = "SELECT `id` FROM `users` WHERE `username`='$username' AND `password`='$password_hash'";
if ($query_run = mysql_query($query))
{
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows==0)
{
echo 'Invalid username password combination';
}
else
{
echo 'Ok.';
}
}
else echo 'query exeution returned false';
}
else echo 'empty username or password';
}
else echo 'not isset username or pwd';
最后如果你没有输出这个其他的stataments,那么如果出现任何致命错误,请查看日志并在打印任何输出之前阻止执行!