2017-08-13 26 views
0

ログインPHPを作成しようとしていますが、ログインしておく必要があります。まずCookieを使用しましたが、誰もがセッションCookieを使用する必要があると言いました。私はセッション変数を保存することに成功しましたが、今はログアウトボタンを操作しています。これは、関数を切り替えるonclickイベントがあります。それは動作しません。 -PHP:セッション変数を破棄する

function logout() { 
    $('body').append("<?php session_unset(); session_destroy(); ?>"); 
    location.assign("index.php"); 
} 

PHP -

<?php 
if(!isset($_SESSION["username"]) || !isset($_SESSION["password"])){ 
echo '<button type="button" name="button" onclick="showRegister();">Register</button> 
<button type="button" name="button" onclick="showLogin();">Login</button>'; 
}else{ 
echo '<button type="button" name="button">Publica un anunt</button> 
<button type="button" name="button" onclick="logout();">Logout</button>'; 
} 
?> 
+0

上記のコードはすべて同じPHPファイルにありますか? –

+0

No. 1はmain.jsと1つのindex.phpです –

答えて

0

あなたはJavaScriptを

function logout() { 
    $('body').append("<?php session_unset(); session_destroy(); ?>"); 
    location.assign("index.php"); 
} 

をやっている - それが唯一のクライアント - にPHPコードを含ん jQueryの機能:ここでは コードですサーバー側では実行しません。

あなたがログアウトする必要がある場合 - あなたは

<?php 
    session_unset(); session_destroy(); 
?> 

のようなページlogout.phpを構築する必要があるとAjaxでそれを要求し、次のように:

function logout() { 
    $.ajax({ 
    url: 'logout.php', 
    success: function(){ 
     location.assign("index.php"); 
    } 
    }); 
} 

それともようlogout.php構築することができますこの:

<?php 
    session_unset(); session_destroy(); 
    header("Location: index.php"); 
?> 

そして、このように、任意のAJAXなしリンクによってそれにユーザーに従います。

<a href='logout.php'>Log out</a> 
関連する問題