发生PHP和MySql登录错误
当我运行代码时,实际上没有语法或任何错误,但问题是sql查询似乎没有读取用户名和密码: 以下是我运行代码并尝试登录时得到的信息:发生PHP和MySql登录错误,php,mysql,Php,Mysql,当我运行代码时,实际上没有语法或任何错误,但问题是sql查询似乎没有读取用户名和密码: 以下是我运行代码并尝试登录时得到的信息: That information is incorrect, try again Click Here 这里是PHP 以下是HTML: <html> <head> <title> Admin Login Page</title> <head> <body> <div align="ce
That information is incorrect, try again Click Here
这里是PHP
以下是HTML:
<html>
<head>
<title> Admin Login Page</title>
<head>
<body>
<div align="center" id="mainWrapper">
<div id="pageContent"><br/>
<div align="left" style="margin-left:24px;">
<h2> Please log in To manage the store</h2>
<form id="form1" name="form1" method="post" action="admin_login.php">
User Name: <br/>
<input name="username" type="text" id="username" size="40"/>
<br/></br>
Password: <br/>
<input name="password" type="password" id="password" size="40">
<br/>
<br/>
<br/>
<br/>
<br/>
<label>
<input type="submit" name="button" id="button" value="LogIn">
</label>
</form>
</body>
</html>
您可以检查$\u POST['username']和$\u POST['password'],但在查询中使用$\u SESSION[manager]和$\u SESSION[password]。你不需要你的$u POST值吗
在您的代码示例中,您从未将这些post值分配给这些会话值。您正在检查post请求中是否包含用户名和密码,但随后对会话请求执行preg_replace。我认为那是不对的
if(isset($_POST["username"]) && isset($_POST["password"])){
$manager = preg_replace('#[^A-Za-z0-9]#i','',$_POST["manager"]);
$password = preg_replace('#[^A-Za-z0-9]#i','',$_POST["password"]);
..
可能是您的mysql\u查询没有正确执行。能否在屏幕上打印$sql变量,并查看$manager和$password变量是否正确输出?如果是这样,您能否复制该sql查询并在phpmyadmin/您的数据库客户端中手动运行,以查看是否获得所需的输出 另一种可能性是,您可以更改编写mysql\u查询的方式
mysql_query('SELECT id FROM admin WHERE username="' .$manager. '" and password= "' .$password. '";') or die(mysql_error());
打印语法是什么?我应该把它放在哪里。我尝试了双引号,但它仍然给我相同的问题:必须执行echo$sql;死亡在您的$sql语句之后,让我们知道您得到了什么输出。我得到了打印出来的资源id 4。您可以尝试通过获取数组来获取值,$values=mysql\u fetch\u array$sql;var_dump$值;谢谢,我修复了@jan,但我还是遇到了同样的错误,我们正在路上:-。您得到的错误是什么?:ermm错误是当我尝试登录时,它告诉我信息不正确,请在用户名和密码正确时再次单击此处@janTry print SELECT id FROM admin,其中用户名=“$manager”,密码=“$password”;死亡就在$sql=。。。。复制结果并尝试直接在数据库中执行,以查看是否获得预期结果。
mysql_query('SELECT id FROM admin WHERE username="' .$manager. '" and password= "' .$password. '";') or die(mysql_error());