2017-08-19 9 views
0

私のコードに何か問題があります。私は自分のコードにどのようにロジックを設定するのか混乱しています。 私は、この問題を尋ねて、クリックしてログアウトしてステータスを「オフ」に変更するたびにユーザーアカウントにステータスを設定する方法を尋ねます。ユーザがPHPでログアウトしたときのステータスを変更または変更しない

この私のコード:

<?php 
    session_start(); 

    include_once "config/db.php"; 

    $params = session_get_cookie_params(); 

    setcookie(session_name(), null, time()-48000, 
      $params['path'], $params['domain'], $params['httponly']); 

    session_destroy(); 

    $sql = "UPDATE user SET status 'off' WHERE user_id={$_SESSION['u_id']}"; 
    mysqli_query($connect, $sql); 

    mysqli_close($connect); 

    header("location: login.php"); 
    exit(); 

?> 

答えて

0

あなたの更新クエリを書くあなたは、クエリを更新する必要が最初にあなたの順序を変更する必要があり、その後、クッキーとセッション

を破壊します
<?php 
    session_start(); 

    include_once "config/db.php"; 

    $params = session_get_cookie_params(); 

    $sql = "UPDATE user SET status = 'off' WHERE user_id={$_SESSION['u_id']}"; 
    mysqli_query($connect, $sql); 

    mysqli_close($connect); 

    setcookie(session_name(), null, time()-48000, 
      $params['path'], $params['domain'], $params['httponly']); 

    session_destroy(); 

    header("location: login.php"); 
    exit(); 

?> 
+0

さらにもう1つ、彼の更新ステートメントは正しくありません。 'status = 'off'ではなく' status = off 'です。そして、彼は準備された声明を使うべきです。私はあなたの答えを更新することを願って:)。 – Spectarion

+0

私は更新しました。その問題を指摘していただきありがとうございます –

+0

ありがとう、問題解決 – Azis

0

にあなたがあなたのセッションを破壊する前には、

$sql = "UPDATE user SET status = 'off' WHERE user_id={$_SESSION['u_id']}"; 

session_destroy(); 
関連する問題