2015-10-22 1 views
1

можно ли снять $_session в теге <script> ?? У меня есть этот скрипт (для проверки), и после того, как он всплыл, и нажал «ОК», он очистит мою корзину, используя unset($_SESSION['cart']); Как я могу это сделать? Благодарю.Как отключить сеанс в <script> теге?

echo "<script> alert('Thank You For Ordering! We will Keep in Touch!');window.location='cart.php';</script>"; 
+1

Это невозможно, так как PHP и javascript отображаются на сервере и в браузере соответственно. Ознакомьтесь с этим для получения дополнительной информации (и некоторых возможных решений для вас): http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-side-and-server-side-programming –

+1

PHP выполняется на сервере, JS запускается на клиенте. вы не можете изменить JS что-либо в PHP иначе, чем выполнить запрос AJAX. –

ответ

3

Я не уверен, что вы можете это сделать, но вы можете сделать это.

echo "<script> alert('Thank You For Ordering! We will Keep in Touch!'); 
     window.location='unset.php';</script>"; 

ваш unset.php

<?php 
    unset($_SESSION['session index']); 
    header('Location: cart.php'); 
?> 
+0

Я пробовал это, но все равно не пустил свою корзину – Jess

+0

показать файл 'unset.php'. –

+0

эй им жаль! Я просто забыл включить мой db.php в unset.php, теперь он сработал! Большое спасибо! – Jess

1

Вы можете не только очистить идентификатор сеанса печенье?

document.cookie="PHPSESSID=''"; 
2

Вы можете не снят с охраной сеанса на стороне клиента (в JavaScript), поскольку данные сеанса проводятся на сервере.

Вы можете вызвать сервер, чтобы сообщить об этом, чтобы отключить сеанс (либо перенаправление, либо вызов AJAX будут работать).

Вы могли бы, теоретически, удалить куки сессии на стороне клиента, если вы хотите, чтобы избежать общения с сервером в тот момент, но есть пара уловы:

  • Это зависит от вас, зная имя сессии cookie и на нем не меняется.
  • Он опирается на идентификатор сеанса, хранящийся в файле cookie (их можно сохранить как параметр запроса, и в будущем может быть принят другой способ)
  • Это фактически не освобождает данные, хранящиеся на сервере, связанном с этим сеансом, без необходимости потреблять ресурсы сервера
Смежные вопросы