PHP onclick вопрос? - PullRequest
       1

PHP onclick вопрос?

0 голосов
/ 04 декабря 2010

Привет, я хочу увеличить значение по клику.мой код:

<?php
$r=0;
function goto()
{
$r++;
}
echo "<input type=button onclick=goto(); value=ClicktoIncrease >";
echo "r value is = $r";
?>

Я думаю, что значение r увеличивается при нажатии.

, но оно не работает.

Кто-нибудь знает это решение?

Ответы [ 2 ]

3 голосов
/ 04 декабря 2010

Вы не можете использовать PHP для этого.как сказал Пекка, PHP работает на стороне сервера, а вы пытаетесь сделать приращение переменной на стороне клиента.Попробуйте использовать Javascript для этого:

<script type="text/javascript">
var r = 0;
</script>

и

<button onclick="r++">Increment</button>
0 голосов
/ 04 декабря 2010

Единственный способ заставить эти HTML и PHP взаимодействовать - перезагрузить страницу и сохранить значение $ r в сеансе или файле cookie.Таким образом, всякий раз, когда человек нажимает кнопку, страница обновляется, и ваша переменная увеличивается на единицу.Возьмите этот псевдокод для примера:

 <?php
 session_start();
 if(!isset($_SESSION['r'])) 
   { 
     $_SESSION['r'] = 0; 
   }

 if(isset($_REQUEST['rincrease']))
   {
     $_SESSION['r'] += 1;
   }
 ?>
 <form>
   <p>Current value of 'r' is <?=$_SESSION['r']?>. 
       Click submit to increase its value.</p>
   <input type="hidden" name="rincrease"/>
   <submit />
 </form>

Я не перед сервером, поэтому не могу проверить это, но выглядит нормально.То, что он делает, имеет скрытое значение в форме, которую проверяет страница при загрузке.Нажатие кнопки «Отправить» приведет к тому, что форма будет отправлена ​​обратно сама себе и увеличит значение переменной сеанса 'r'

. Лучшим способом сделать это было бы использование JavaScript на странице, если вам не нужнозахватить значение 'r' на стороне сервера.Но даже если вы это сделаете, вы можете отправить значение при публикации формы и избавить себя от необходимости повторной отправки страницы каждый раз, когда вы хотите увеличить значение, а также сохранить пользователя от большого количества обновлений страницы.

Надеюсь, что это информативно.

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