2016-08-16 8 views
0

私はログイン/ログアウトを設定しています。私が望むときにデータベースを操作できるように、ユーザのID番号をウェブサイトの他のページに送信しようとしています。ユーザがログインしたときにセッション変数をuser_idに設定

私は電子メール/パスワードと一致し、ユーザーにログインするためにクエリを使用(NBこれは完全なコードではなく、問題はありませんが、私は一致するメールとパスワードです)

$find= mysqli_query("SELECT * FROM users WHERE email='$ema' and password="$pw"); 

その後、私は配列を取得セッションを開始してから、Webサイトのページをさらに確認します。他のページ

if(mysql_num_rows($find) == 1){ 
    $row = mysql_fetch_array($result, MYSQL_BOTH); 
    $id= $row ['id']; 
    session_start(); 
    $_SESSION['Login']= $id; 
// Redirect - I use JS to send users to next page 
} 
else { 
    echo '<script type="text/javascript">'; 
    echo 'alert("Invalid Username or Password");'; 
    echo 'history.back();'; 
    echo '</script>'; 
} 
mysql_close($link); 

私はセッションのためにチェックし、それらがログインしていない場合は、ユーザーをリダイレクトするコードを持ってここにそのコードです:私はID変数に何があるかをチェックするとき

<?php 
session_start(); 
if(!isset($_SESSION['Register'])){ 
    if(!isset($_SESSION['Login'])){ 
    header("location:../notLoggedIn.php"); 
} 
} 
$get_id = $_SESSION['Register']; 
$get_id = $_SESSION['Login']; 
?> 

は、その後、

$profile = mysql_query("SELECT * FROM profiles WHERE id= $id"); 
    var_export($id); 

私はnull値を取得します。何がうまくいかないの?

+0

プットのsession_start()になります使用しないsession variableを渡している)、それを

3を設定しています。ヘッダーに。 – Noman

+0

まず、データベースからレコードを取得しているかどうかを確認します。これは 'mysql_num_rows($ find)'の中にあります。 –

+0

@MahaDev記録を取得しています。私はチェックし、完全な配列がそこにある。 – tdrsam

答えて

0

セッションがsession_start();

if (session_status() == PHP_SESSION_NONE) {//php >5.4 
    session_start(); 
} 

を使用し、代わりに私が見てきた$id

$profile = mysql_query("SELECT * FROM profiles WHERE id=".$_SESSION['Login']); 
0

複数のミスの$_SESSION['Login']を使用した後に開始されていない場合は、チェックしなければなりません。

1)まず、あなたのクエリを修正:

$find= mysqli_query("SELECT * FROM users WHERE email='$ema' and password='$pw'); 

2)第二に、ファイルの上にセッションを開始します。セッションが適切に設定されている場合、最後のチェックで

3)mysqli_close($link);代わりにmysql_close($link);

4)。

if(isset($_SESSION['Login'])) { 
$get_id = $_SESSION['Login']; 
$profile = mysql_query("SELECT * FROM profiles WHERE id= $id"); 
var_export($id); 
} 
0

こんにちは、これらの点

1)()任意のechoまたはwhite space前ページの最上部にsession_startを開始しますのでご注意ください。

2)あなたの$_SESSION['Register']が表示されません。あなたは、あなたは、単純なvariableはとてもこの

$profile = mysql_query("SELECT * FROM profiles WHERE id = $_SESSION['Login']"); 
    var_export($_SESSION['Login']); 

$idとしては、ここでnull常に

関連する問題