Сеанс распространения в php, установленный jQuery?

#php #jquery #session

#php #jquery #сеанс

Вопрос:

Как я могу уничтожить сеанс в php, который установлен jquery.

Код для регистрации сеанса:

 $('#psubmit').click(function() {  

    $.post("single-us_portfolio.php", {"myusername": "myusername"});    

});
  

и для доступа к сеансу на custom.php код таков:

     session_start();
$_SESSION["myusername"] = $_POST["myusername"];
if(!session_is_registered(myusername)){

echo '<meta http-equiv="Refresh" content="1; url=http://www.ididthisfilm.com/lex_tmp2/the-lexicon/">';
}
  

Теперь я хочу уничтожить этот сеанс при отправке этой формы:

 <form >
<input type="file" class="js-file-validation-image" name="file" id="filed"   required="required">
<input type="submit" value="PUBLISH PHOTO" id="hello" name="publishpost" >
</form>
  

Комментарии:

1. Когда вы хотите уничтожить сеанс? в каком событии?

2. при нажатии кнопки отправки с идентификатором «привет» в последней форме

3. вы можете просто использовать session_destroy функцию, когда захотите.

Ответ №1:

Где бы вы ни хотели уничтожить сеанс, включите следующий код

Скажем, это в session_destroy.php файл

 <?php 
session_start();
session_destroy();//OR use unset if u want to destroy individual session.
clearstatcache();
?>
  

И дайте ajax-вызов этому файлу при любом событии, которое вы хотите.

Для вызова ajax

 jQuery("#psubmit").mousedown(function(){

 hasBeenClicked = 1;                            
 //AJAX call
  $.ajax({
        url: 'session_destroy.php',
        type: 'POST',
        dataType: "json",
        data: {

        },
        success: function(data){                                

        }
    });
 ////AJAX call

  });   
  

Комментарии:

1. Как? вызов ajax для этого файла? пожалуйста

2. Вот как вы вызываете ajax для уничтожения сеанса

Ответ №2:

Сеансы поддерживаются на сервере и не могут быть удалены на клиенте без отправки запроса на сервер. итак, вы должны предоставить другой API для последней формы, чтобы уничтожить серверную часть сеанса, точно так же, как настройка серверной части сеанса.

Ответ №3:

Вам нужно уничтожить сеанс в сообщении jQuery следующим образом:

 $('#hello').click(function() {  

    $.post("destroy.php", function(){  
        location.reload();
    });
});
  

Затем в destroy.php

 sessionstart();
sessiondestroy();
  

Если вы используете его в форме, вы должны убедиться, что вы запретили отправку формы по умолчанию, если хотите, чтобы она выполняла вызов ajax без перезагрузки.