我只是按照指南使用PHP和MySQL设置了一个非常简单的登录系统,并且我的代码是视频的精确克隆,但是当我单击“提交”按钮时,无论用户名/密码框中的值是多少,它都将刷新页面。 。该指南来自2010年,但我认为它会起作用,因为该系统是如此简单。
XAMPP INFO:
表名是“用户”
数据库名称为“快速”
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "fast";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
if (isset ($_POST['username'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res = mysql_query($sql);
if (mysqli_num_rows($res) == 1) {
echo "You have succesfully logged in.";
exit();
} else {
echo "Invalid login information. Please return the previous page";
exit();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form method="POST" action="login.php">
Username: <input type="text" name="username"></input>
Password: <input type="password" name="password"></input>
<input type="submit" name="submit" value="Log In"></input>
</form>
</body>
</html>
最佳答案
编辑版本
制作一个单独的connect.php
文件,并将其包含在您的login.php文件中,同时我已经在您的login.php文件中更新了isset条件。如果单击了提交按钮,则验证条件有效
(在PHP 5.5版之后不建议使用mysql,并使用pdo或mysqli)
connect.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "fast";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
?>
login.php
<?php
require('connect.php');
if (isset ($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res = mysql_query($sql);
if ($res) {
echo "You have succesfully logged in.";
exit();
} else {
echo "Invalid login information. Please return the previous page";
exit();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Username: <input type="text" name="username"></input>
Password: <input type="password" name="password"></input>
<input type="submit" name="submit" value="Log In"></input>
</form>
</body>
</html>
关于php - 简单的PHP/MySQL表单仅刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38867530/