我正在进行php登录,将您重定向到" admin.php"当你登录时,这是我的代码到目前为止,当我用用户名和密码回显行时,它工作,但当我添加if
和else
语句时它只给了我一个空白屏幕没有错误或任何东西。这是我的代码:
注意:我已经更改了mysql数据库的详细信息,但我已对它们进行了测试,并且它们都已连接。
<?php
mysql_connect("mysqlserver", "myusername", "mypassword);
mysql_select_db("mydatebase");
?>
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['submit'])){
$user = $_POST['user'];
$pass = $_POST['password'];
$result = mysql_query("SELECT * FROM user WHERE name='$user' AND pass='$pass'");
$num = mysql_num_rows($result);
if($num == 0) {
echo "Incorrect UserName or Password. Please try again."; session_start();
}else{
session_start();
$_SESSION['user'] = $user;
header("Location: admin.php");
}
?>
<form action='login.php' method='post'>
UserName: <input type='text' name='user' /><br />
Password: <input type='password' name='password' /><br />
<input type='submit' name='submit' value='Login' />
</form>
<?php
}
?>
</body>
</html>
答案 0 :(得分:1)
您的PHP脚本出错并且error_reporting(或display_error)已关闭,因此您看到一个空白页。
这是错误:你忘了双引号
mysql_connect("mysqlserver", "myusername", "mypassword);
-----------------------------------------------------^
试试这个:
mysql_connect("mysqlserver", "myusername", "mypassword");
如果这不能解决您的问题,则必须在其他地方出错。
尝试在PHP脚本的开头添加这两行以查找错误:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
答案 1 :(得分:1)
似乎
中存在语法错误 mysql_connect("mysqlserver", "myusername", "mypassword);
你缺乏双引号 这应该是
mysql_connect("mysqlserver", "myusername", "mypassword");
并且连接方式必须是这样
$con = mysql_connect("mysqlserver", "myusername", "mypassword");
mysql_select_db("mydatebase",$con);
P.S
停止使用mysql_connect
而不是mysqli
或PDO
原因是mysql现在是Deprecated
答案 2 :(得分:1)
<小时/> 的的login.html:强>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action='login.php' method='post'>
UserName: <input type='text' name='user' /><br />
Password: <input type='password' name='password' /><br />
<input type='submit' name='submit' value='Login' />
</form>
</body>
</html>
<强>的login.php:强>
<?php
if(isset($_POST['user'], $_POST['password'], $_POST['submit'])){
$con = mysql_connect("mysqlserver","username","password", "mydatebase");
if(!$con)
{
die('Could not connect : ' . mysql_error());
}
$user = $_POST['user'];
$pass = $_POST['password'];
$query = sprintf("
SELECT * FROM user WHERE name='%s' AND pass='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($pass);
$result = mysql_query($query,$con);
if(!$result)
{
die('Could not execute : ' . mysql_error());
}
if(mysql_num_rows($result) > 0){
session_start();
$_SESSION['user'] = $user;
header("Location: admin.php");
}else{
echo "Incorrect UserName or Password. Please try again.";
}
mysql_close($con);
}else{
echo "missing form values";
}