gpt4 book ai didi

PHP MySQL 登录示例错误

转载 作者:行者123 更新时间:2023-11-30 01:36:45 25 4
gpt4 key购买 nike

我现在对 php mysql 登录问题很困惑。这是我的代码。

请暂时不要建议我使用 mysqli 和 PDO,因为我是新手,目前只知道如何在 php 中使用 mysql 函数。我稍后会解决这个问题。所以请看一下代码并告诉我验证码有什么问题。

登录.php

<?php
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$username=addslashes($_POST['username']);
$password=addslashes($_POST['password']);

//connect to database
$con=mysql_connect("localhost","","") or die();
$db=mysql_select_db("dashboard") or die();

//execute query
$query ="SELECT username, password from `login` where username=$username";
$result=mysql_query($query);

if($username=='username' && $password=='password') {
$_SESSION['username']=$username;
header("Location:dashboard.php");
} else {
echo "You got credentials wrong";
}
}
?>

<form method="post" action="<?php htmlspecialchars("PHP_SELF"); ?>">

<label>Username :</label><input type="text" name="username"></br>
<label>Password:</label><input type="password" name="password"></br>
<br/>
<input type="submit" value="submit"></br>
</form>

仪表板.php

<?php
session_start();
echo "Welcome ". $_SESSION['username'];
?>
<a href="logout.php">Logout</a>

注销.php

<?php
session_destroy();
header("Location:login.php");
?>

页面错误为:

Notice: Undefined index: password in /home/lampstack/apache2/htdocs/dashboard/login.php on line 23

第 23 行代码

if($username=='username' && $password=='password')

最佳答案

查询的第一阶段

$query ="SELECT username, password from `login` where username=$username";

你应该用引号包围你的用户名变量,因为我认为这不是一个整数字段

$query ="SELECT username, password from `login` where username='$username'";

那么您的 if 语句中有错误,并且您没有从查询中获取任何结果,因此您应该检查获取的行或 mysql_num_row 是否大于0

$result=mysql_query($query);

if($row = mysql_fecth_array($result))
{
$_SESSION['username']=$username;
header("Location:dashboard.php")
}

我想指出的是,你的代码很容易受到 mysql 注入(inject)的攻击

关于PHP MySQL 登录示例错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com