PHP成功登录不工作
我使用PHP和HTML进行用户登录,它工作正常,当有空字段或输入错误密码时,它会向我发送错误消息,但如果“用户名”和“密码”被正确接受,当我想重新指向文件时,它会失败。有什么想法吗 我的PHP:PHP成功登录不工作,php,html,login,location,Php,Html,Login,Location,我使用PHP和HTML进行用户登录,它工作正常,当有空字段或输入错误密码时,它会向我发送错误消息,但如果“用户名”和“密码”被正确接受,当我想重新指向文件时,它会失败。有什么想法吗 我的PHP: <?php session_start(); ?> <?php require_once("../includes/connection.php"); ?> <?php include("../includes/header.php"); ?> <?ph
<?php
session_start();
?>
<?php require_once("../includes/connection.php"); ?>
<?php include("../includes/header.php"); ?>
<?php
if(isset($_SESSION["session_username"])){
// echo "Session is set"; // for testing purposes
header("Location:intropage.php");
}
if(isset($_POST["login"])){
if(!empty($_POST['username']) && !empty($_POST['password'])) {
$username=$_POST['username'];
$password=$_POST['password'];
$query =mysql_query("SELECT * FROM admin_list WHERE username='".$username."' AND password='".$password."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
while($row=mysql_fetch_assoc($query))
{
$dbusername=$row['username'];
$dbpassword=$row['password'];
}
if($username == $dbusername && $password == $dbpassword)
{
$_SESSION['session_username']=$username;
/* Redirect browser */
header("Location:intropage.php");
}
} else {
$message = "Nombre de usuario ó contraseña invalida!";
}
} else {
$message = "Todos los campos son requeridos!";
}
}
?>
我认为可能是字符串文本问题导致mysql查询失败
尝试更改:
$query =mysql_query("SELECT * FROM admin_list WHERE username='".$username."' AND password='".$password."'");
对此,请改为:
$query =mysql_query("SELECT * FROM admin_list WHERE username='$username' AND password='$password'");
“它向我发送错误消息”。我们可以得到错误信息吗?一般性评论;您的代码是SQL注入的主题。尝试使用不同的方法执行SQL语句。此外,在数据库中存储密码本身也被认为是一种不好的做法。看看这里@NikosMargaritis别让他上吊!如果你想让OP尝试不同的东西,给他们一个方向。@IonTorres而不是mysql_*函数,尝试使用或@castis I准备指向实际线程的链接。那里的选项与您建议的类似。
$query =mysql_query("SELECT * FROM admin_list WHERE username='".$username."' AND password='".$password."'");
$query =mysql_query("SELECT * FROM admin_list WHERE username='$username' AND password='$password'");