Javascript метод onclick выполняется, даже если кнопка отправки еще не нажата - PullRequest
0 голосов
/ 15 августа 2011

Я новичок в php и javascript, поэтому, пожалуйста, потерпите меня.

index.php:

<?php
 $_SESSION['test'] = 1;
?>

<div>
 <?php echo "Before: " . $_SESSION['test']; ?>
 <input type="submit" value="CLICK" onclick="<?php $_SESSION['test'] = 0; ?>;" />
 <?php echo "After: " . $_SESSION['test']; ?>
</div> 

Почему $_SESSION['test'] уже 0, когда я еще не нажал кнопку ??? Пожалуйста, помогите мне ...

Ответы [ 5 ]

2 голосов
/ 15 августа 2011

Вам нужно будет использовать AJAX для вызова php, установить сеанс по клику через javascript.Я предлагаю взглянуть на XMLHTTPRequest: http://www.w3.org/TR/XMLHttpRequest/, или, если вы не хотите читать все это и изучать его, я предлагаю посмотреть на библиотеку JavaScript, такую ​​как http://www.jquery.com,, которая должна упростить то, чтовам нужно сделать.

2 голосов
/ 15 августа 2011

PHP является препроцессором. Все, что вы пишете в PHP, выполняется ДО представления страницы, в то время как javascript выполняет клиентскую часть во время работы страницы. Поэтому вы не можете установить значение PHP с событием JavaScript.

2 голосов
/ 15 августа 2011

PHP - серверный язык;он анализируется и запускается до того, как что-либо будет отправлено в браузер.Он не взаимодействует с JavaScript.

1 голос
/ 15 августа 2011

То, как вы пытаетесь это сделать, невозможно.

Используйте AJAX

1 голос
/ 15 августа 2011

Вам нужно позвонить session_start(), прежде чем что-либо будет сохранено в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...