我有一个登录页面。注册页面工作正常,但我的登录页面有问题。当我成功登录时,它应该将我重定向到一个名为member.php的页面,而不是只停留在同一页面上而不是在哪里。这是我的login.php页面的代码,我认为可能会出现问题:
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])) {
$user=$_POST['user'];
$pass=$_POST['pass'];
$con=mysql_connect('127.0.0.1:8889','root','root') or die(mysql_error());
mysql_select_db('user_registration') or die("cannot select DB");
$query=mysql_query("SELECT * FROM login WHERE username='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['username'];
$dbpassword=$row['password'];
}
if($user == $dbusername && $pass == $dbpassword)
{
session_start();
$_SESSION['sess_user']=$user;
header("Location: member.php");
}
} else {
echo "Invalid username or password!";
}
} else {
echo "All fields are required!";
}
}
?>
<form action="" method="POST">
Username: <input type="text" name="user"><br />
Password: <input type="password" name="pass"><br />
<input type="submit" value="Login" name="submit" />
</form>
答案 0 :(得分:2)
我稍微重写了你的代码。你做了一些不必要的检查。首先,您根据login-info获取MySQL结果,然后再次进行比较。你不需要这样做。
此代码应该有效。如果没有,我很确定您使用错误的信用卡登录或者您的数据库结构有问题。
<?php
if (isset($_POST['submit'])) {
if (!empty($_POST['user']) && !empty($_POST['pass'])) {
$con = mysql_connect('127.0.0.1:8889','root','root') or die(mysql_error());
mysql_select_db('user_registration') or die('Could not select database');
$login = 'SELECT * FROM login WHERE username = \'' . $user . '\' AND password = \'' . $pass . '\' LIMIT 1';
$loginq = mysql_fetch_assoc(mysql_query($login));
if (isset($loginq['username'])) {
session_start();
$_SESSION['sess_user'] = $loginq['username'];
header('Location: member.php');
}
else {
echo 'Invalid username or password!';
}
}
else {
echo 'All fields are required!';
}
}
?>
答案 1 :(得分:0)