2016-05-15 97 views
1

嗨所以我遇到什么似乎检索,并将其分配给一个$ _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!

谢谢阅读,如果你需要更多的信息让我知道!

+2

在声明变量'$ _SESSION [ '姓']'你说'$行=',尝试remobing的'='从那里,使其只'$行[ '姓']' - 应该解决它:) – Jek

+0

@Jek三江源!这解决了我的问题! –

+0

刚才为你找出答案:) – Jek

回答

1

继续前进,改变

$_SESSION['FirstName'] = $row=['FirstName']; 

$_SESSION['FirstName'] = $row['FirstName']; 

这应该修复它:)

0

这是一个 “疑难杂症” 的是钉了我几次在第一。以与一个数组值可变的膨胀功具有引用的键,即you need to use "complex syntax"

<b>Welcome to your account <?php echo {$_SESSION['FirstName']}; ?>!</b> 

包围在括号中的参考变量。

+0

谢谢你们的答案,这也帮助我:)。 –