2016-05-15 30 views
1

ちょっとおっしゃいましたので、SQL_Dataを取得して$ _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"]を設定すると考えているより上データベースから選択されているユーザーのFirstname。ここではその後

<?php 
require 'connections.php'; 
session_start(); 
if(isset($_SESSION['UserID'])){ 
} 
else { 
    header('Location: login.php'); 
} 
?> 

問題です:

は次にここに私のaccount.phpのPHPコードの一部です

Welcome to your account
Notice: Array to string conversion in C:\Users*\Desktop\XAMMP\htdocs\PHP\Website\account.php on line 36
Array!

ありがとう:それはこのエラーを返して

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

読んで、あなたが何か情報が必要な場合は私に教えてください!

+2

変数 '$ _SESSION ['FirstName']'を宣言すると、 '$ row ='と言っているので、そこから '='を取り除き、 '$ row ['FirstName']'だけにしてみてください。それを修正してください:) – Jek

+0

@元気よ!これは私の問題を解決しました! –

+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

あなたの答えのためにありがとう、これはまた私を助けてくれました:) –

関連する問題