2012-03-20 3 views
1

Сессия - это клиентский персонал, но можно ли это очистить с помощью кода javascript? Я бы тоже хотел эту идею, и может ли она конвертировать в формат jquery? Спасибо.Как очистить сеанс с помощью кнопки и javascript

JS

$(function(){ 
    $("#closeTab").click(function() { 
    window.parent.$('#tt').tabs('close','Create List'); 
     $.post("clear.php",function(data){ 
     }); 
    }); 
}); 

PHP

<? 
if (isset($_SESSION['lname'])) 
unset($_SESSION['lname']); 
if (isset($_POST['creminder'])) 
unset($_SESSION['creminder']); 
?> 

Это один нормально?

+0

Очистить или завершить сеанс? Там большая разница ... – Jon

+0

Я думаю, что нужно отменить ($ _ SESSION ['cart']); или $ _SESSION ['cart'] = '' – user782104

ответ

5

сделать вызов Ajax на сервер, и пусть ваша страница сервера убивает/завершает сеанс

HTML

<a href="#" id="aKill" > Kill Session</a> 

Script

$(function(){ 

    $("#aKill").click(function(){ 
     $.post("serverpage.php",function(data){ 
     // if you want you can show some message to user here 
    }); 
}); 

и в вашем serverpage. php, Выполнить скрипт PHP для завершения сеанса.

+0

Могу ли я сделать это без предупреждения? Не могли бы вы немного изменить его? спасибо – user782104

+2

@ user782104: Просто вытащите предупреждение. Я обновил ответ – Shyju

+0

Большое вам спасибо. Я попытаюсь сообщить, если это работает или нет – user782104

1

Нижеследующий охватывает основы более или менее.

Функция:

function destroySession(){ 
    var theForm = $("#yourForm"); 
    //we don't need any ajax frame. 
    theForm.each(function(){ this.reset() }); 
    $.ajax({ 
    url: 'destroysession.php', 
    type: 'post', 
    data: 'sure=1', //send a value to make sure we want to destroy it. 
    success: function(data); 
     alert(data); 
    } 
    }); 
} 

РНР(destroysession.php) :

<?php 
    //whatever logic is necessary 


    if(!empty($_POST['sure'])){ 
    $sure = $_POST['sure']; 
    if($sure == 1){ 
     //logic to destroy session 
     echo 'Session Destroyed!'; 
    }else if($sure != 1){ 
     //logic to perform if we're being injected. 
     echo 'That value is incorrect. What are you doing over there?'; 
    } 
    }else{ 
    //logic to perform if we're being injected. 
    echo 'That value is incorrect. What are you doing over there?'; 
    } 
?> 

HTML-:

<input type='button' value='reset' onclick='destroySession()'> 
+0

thx за вашу помощь – user782104

2

Создайте отдельный файл, чтобы очистить сеанс. clearsession.php

session_start(); 
session_destroy(); 

Теперь сделайте простой запрос

$("#aKill").click(function(){ 
    $.get("clearsession.php"); 
} 
Смежные вопросы