gpt4 book ai didi

PHP if-else 总是在 mysql_num_rows 等于 1 之后显示 else

转载 作者:行者123 更新时间:2023-12-01 00:21:25 25 4
gpt4 key购买 nike

我有一个名为 login 的表单,当提交时将字段 usernamepassword 发送到 MySQL 数据库以检查它们是否匹配。当它们不匹配时,我想回显一个错误。

这是表单上方的 PHP 代码:

if (!isset($_POST['login'])) {
mysql_connect (...);
mysql_select_db (...);

$username = $_POST['username'];
$password = $_POST['password'];
$location = $_POST['location'];

$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

$sql = "SELECT * FROM members WHERE username='$username' and password='$password'";

$result = mysql_query($sql);

if (mysql_num_rows($result) == 1) {
session_register("username");
session_register("password");
header("Location: $location");
}
else {
echo "Wrong username or password.";
}

mysql_close();
}

和形式:

<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="location" type="hidden" value="<?php echo $_GET['location']; ?>"/>
<input name="username" type="text" value="Username" onclick="this.value=''"/>
<input name="password" type="text" value="Password" onfocus="this.value='';this.type='password'"/>
<input name="submit" type="submit" value="Login"/>
</form>

如果我使用正确的用户名和密码提交表单,代码将正常工作。

问题 是错误消息始终存在,甚至在提交表单之前。有什么想法吗?

最佳答案

将第一行更改为:

 if (isset($_POST['username'])) {

关于PHP if-else 总是在 mysql_num_rows 等于 1 之后显示 else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com