我刚刚在 PHP 中创建了一个完整的登录名并注册了 systsem,但我的问题是我还没有使用任何会话。我是 PHP 的新手,以前从未使用过会话。想使用会话登录,如果代码中的一些错误无法转到仪表板页面,请帮助我解决此问题。<?phpsession_start();error_reporting(0);include('config.php');if(isset($_POST['submit'])){$result = mysqli_query($dbh,"SELECT * FROM users WHERE email='" . $_POST["email"] . "' and password = '". $_POST["password"]."'");$row = mysqli_fetch_array($result);if(is_array($row)) {$_SESSION["id"] = $row[id];$_SESSION["username"] = $row[username];} else {$message = "Invalid Email or Password!";}}if(isset($_SESSION["id"])) {header("Location:dashboard.php");}?>想使用会话登录,如果代码中的一些错误无法转到仪表板页面,请帮助我解决此问题。
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
您在数组的索引中传递常量$row。从此更改您的代码
$_SESSION["id"] = $row[id];
$_SESSION["username"] = $row[username];
对此
$_SESSION["id"] = $row['id'];
$_SESSION["username"] = $row['username'];
您的代码对sql 注入是开放的。我建议您使用准备好的语句,因为您是新手,因此最好将精力花在正确的方向上
慕桂英546537
TA贡献1848条经验 获得超10个赞
<input type="password" name="pass" class="form-control" placeholder="Password">
pass应该是password。我的意思是你的前端 html 不与 php 确认。改用这个
<input type="password" name="password" class="form-control" placeholder="Password">
- 2 回答
- 0 关注
- 250 浏览
添加回答
举报
0/150
提交
取消