2017-02-17 15 views
-1

index.phpのロケーション部分が機能しないのはなぜですか?

$password = hash('sha256', $pass); // password hashing using SHA256 

    $res=mysql_query("SELECT * FROM users WHERE userEmail='$email'"); 
    $row=mysql_fetch_array($res); 
    $count = mysql_num_rows($res); // if uname/pass correct it returns        must be 1 row 

    if($count == 1 && $row['userPass']==$password) { 
    $_SESSION['user'] = $row['userId']; 
    $_SESSION['location'] = $row['userLocation']; 
    header("Location: home.php"); 
    } else { 
    $errMSG = "Incorrect Login"; 
    } 

Home.php

$query = "SELECT * FROM machines WHERE locatie=".$_SESSION['location']; 
$result = mysql_query($query); 

なぜこれが動作しない

$_SESSION['locatie']の部分が機能しないのはなぜですか? 私はそれが他のファイルと同じ値を持っていると思った。

+0

ヘッダ –

+3

は、mysql関数を使用しないでください。 mysqliまたはpdo – Akintunde007

+0

を使用すると、コードはヘッダ( "Location:home.php"); die;これを試してください –

答えて

1

mysqlクエリに構文エラーがあります。

$query = "SELECT * FROM machines WHERE locatie='".$_SESSION['location']."'"; 
0

リダイレクト後にの値をhome.phpファイルに引き継がせますか?

$row['location']に値があり、両方のページでsession_start()が呼び出されていることを確認してください。

0

はい場合は、もう一度この操作を行うこの

print_r($row); 

のようなコードをデバッグすることでチェックしてみてください。

echo $row['userLocation']; 

あなたは、この値を取得していますか?あなたがセッションとdenに値を入れたい場合 はその後session_start();を書き込むことによって、あなたが最初のセッションを初期化していることを確認し、

$_SESSION['location]= $row['userLocation]; 

のように値を追加します。しかし、チェックがセッションを設定する前に値を取得していることを確認してくださいデンリダイレクトしますか。? コードをprint_r($row); で更新した方が良いでしょう。そして、代わりにmysqliとpdoを使うようになっているため、SQL関数の使用をやめてください。

関連する問題