嘿伙计们,所以当我在检索它并将其分配给$ _SESSION时尝试输出一些SQLi数据时,我遇到了一个似乎很奇怪的问题。我对PHP很陌生,所以很有可能我会做一些愚蠢的事情。
所以这是我的login.php PHP部分:
<?php
require 'connections.php';
if(isset($_POST['Login'])){
$EM = $_POST['Email'];
$PW = $_POST['Password'];
$result = $con->query("SELECT * FROM users where Email='$EM'");
$row = $result->fetch_array(MYSQLI_BOTH);
if(password_verify($PW, $row['Password'])){
session_start();
$_SESSION["UserID"] = $row['UserID'];
$_SESSION["FirstName"] = $row=['Firstname'];
header('Location: account.php');
}
else{
session_start();
$_SESSION['LogInFail'] = "Yes";
}
}
?>
所以上面我相信我将$_SESSION["FirstName"]
设置为从数据库中选择的用户名字。
然后这是我的account.php PHP代码的一部分:
<?php
require 'connections.php';
session_start();
if(isset($_SESSION['UserID'])){
}
else {
header('Location: login.php');
}
?>
然后是问题所在:
<b>Welcome to your account <?php echo $_SESSION['FirstName']; ?>!</b>
它返回此错误:
欢迎使用您的帐户
注意:第36行的C:\ Users * \ Desktop \ XAMMP \ htdocs \ PHP \ Website \ account.php中的数组到字符串转换
阵列!
感谢阅读,如果您需要更多信息,请告诉我们!
答案 0 :(得分:1)
继续并更改
$_SESSION['FirstName'] = $row=['FirstName'];
要
$_SESSION['FirstName'] = $row['FirstName'];
这应该解决它:)
答案 1 :(得分:0)
这是一个“陷阱”,一开始就把我钉了几次。使用带引号的键you need to use "complex syntax"即
进行变量扩展<b>Welcome to your account <?php echo {$_SESSION['FirstName']}; ?>!</b>
将大括号中的变量引用括起来。