我是新来的PHP和SQL,但我试图创建一个简单的PHP脚本,允许用户登录到一个网站。它由于某种原因不起作用,我不明白为什么。每次我尝试使用正确的用户名&密码登录时,都会收到错误“错误的用户名或密码”。数据库名称和表名是正确的。基本的PHP脚本不起作用
connect.php:
<?php
$db_host = 'localhost';
$db_name = 'app';
$db_user = 'root';
$db_pass = '';
$tbl_name = 'users';
// Connect to server and database
mysql_connect("$db_host", "$db_user", "$db_pass") or die("Unable to connect to MySQL.");
mysql_select_db($db_name)or die("Cannot select database.");
// Info sent from form
$user = trim($_POST['user']);
$pass = trim($_POST['pass']);
// Protection against MySQL injection
$user = stripslashes($user);
$pass = stripslashes($pass);
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
$sql = ("SELECT * FROM $tbl_name WHERE username='$user' and password='$pass'");
$result= mysql_query($sql);
$count 0= mysql_num_rows($result);
if($count==1){
// Register $user, $pass send the user to "score.php"
session_register("user");
session_register("pass");
header("location:score.php");
}
else
{
echo "Wrong Username or Password";
}
?>
score.php:
<?php
session_start();
if(!session_is_registered(user)){
header("location:login.html");
}
?>
<html>
<body>
<h1>Login Successful</h1>
</body>
</html>
我希望有人能找到我的错误,谢谢!
这里有一个语法错误:'$ count 0 = mysql_num_rows()' –
请做不要使用过时的'mysql'扩展名。使用'PDO'代替(或'mysqli') –
$ count 0 = mysql_real_escape_string()??? – Vultour