PHP数组到字符串转换$ _SESSION
问题描述:
嗨所以我遇到什么似乎检索,并将其分配给一个$ _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>
它返回此错误:
Welcome to your account
Notice: Array to string conversion in C:\Users*\Desktop\XAMMP\htdocs\PHP\Website\account.php on line 36
Array!
谢谢阅读,如果你需要更多的信息让我知道!
答
继续前进,改变
$_SESSION['FirstName'] = $row=['FirstName'];
要
$_SESSION['FirstName'] = $row['FirstName'];
这应该修复它:)
答
这是一个 “疑难杂症” 的是钉了我几次在第一。以与一个数组值可变的膨胀功具有引用的键,即you need to use "complex syntax"
<b>Welcome to your account <?php echo {$_SESSION['FirstName']}; ?>!</b>
包围在括号中的参考变量。
+0
谢谢你们的答案,这也帮助我:)。 –
在声明变量'$ _SESSION [ '姓']'你说'$行=',尝试remobing的'='从那里,使其只'$行[ '姓']' - 应该解决它:) – Jek
@Jek三江源!这解决了我的问题! –
刚才为你找出答案:) – Jek