Хочу, чтобы программа просто считала кол-во нажатий по кнопке в одном php файле.
соответственно для этого ввожу вот такой код:
<?
if (empty($a)) {
$a = 0;
}
$a++;
echo <<<HERE
<input type = "submit" value = "123">
HERE;
echo ($a);
?>
А в итоге стоит единица и все! хоть ты сто раз нажми. В чем проблема? код же вроде логичный
Спустя 4 часа, 48 минут, 40 секунд (24.11.2010 - 07:19) inpost написал(а):
Совсем не логичный! Переменная создаётся на странице! Нажимая на кнопку submit - ты переходишь на другую страницу, то есть сам на себя, и переменная заново создаётся.
Это можно реализовать через сессию ($_SESSION), или на крайняк через java script.
Это можно реализовать через сессию ($_SESSION), или на крайняк через java script.
Спустя 3 часа, 33 минуты, 37 секунд (24.11.2010 - 10:53) chexa написал(а):
А как тогда будет выглядеть код с SESSION ?
вообще в книге по которой я занимаюсь эта прога написана так:
Но на строке $a++; и
$b++;
денвер пишет ошибку: Notice: Undefined variable: a in Z:\home\qwe\www\proga.php on line 15
Notice: Undefined variable: a in Z:\home\qwe\www\proga.php on line 16
так как сделать так, чтобы переменная хранилась?
вообще в книге по которой я занимаюсь эта прога написана так:
<?
$a++;
$b++;
print <<<HERE
<input type= "text"
name = "a";
value = "$a";>
<input type= "text"
name = "b";
value = "$b";>
$b
<input type = "submit" value = "123">
HERE;
?>
Но на строке $a++; и
$b++;
денвер пишет ошибку: Notice: Undefined variable: a in Z:\home\qwe\www\proga.php on line 15
Notice: Undefined variable: a in Z:\home\qwe\www\proga.php on line 16
так как сделать так, чтобы переменная хранилась?
Спустя 14 минут, 23 секунды (24.11.2010 - 11:07) Basili4 написал(а):
<?php
$index=isset($_GET['index'])?(int)$_GET['index']:0;
echo $index;
?>
<form>
<input type="hiden" value="<?php echo $index+1; ?>" name="index" >
<input type="submit">
</form>
и не зачем мусорить в сессии
Спустя 9 минут, 1 секунда (24.11.2010 - 11:16) chexa написал(а):
работает! сможете пожалуйста вкратце разжевать эту строку:
$index=isset($_GET['index'])?(int)$_GET['index']:0;
$index=isset($_GET['index'])?(int)$_GET['index']:0;
Спустя 4 минуты, 1 секунда (24.11.2010 - 11:20) Basili4 написал(а):
если есть $_GET['index'] то превести к целому числу и положить в index иначе в index положить 0
Спустя 4 минуты, 27 секунд (24.11.2010 - 11:25) chexa написал(а):
А почему тогда не срабатывал код:
тут же тоже есть условие:
или его просто нужно кинуть в отдельное <?php ?>
<?
if (empty($a)) {
$a = 0;
}
$a++;
echo <<<HERE
<input type = "submit" value = "123">
HERE;
echo ($a);
?>
тут же тоже есть условие:
if (empty($a)) {
$a = 0;
}
или его просто нужно кинуть в отдельное <?php ?>
Спустя 7 минут, 48 секунд (24.11.2010 - 11:33) linker написал(а):
Потому что
1. <input type = "submit" value = "123"> - отсутствует атрибут name="a"
2. У всех нормальных людей register_globals отключены, поэтому нужно явно брать из $_GET['a']/$_POST['a'].
3. При каждом запуске скрипта, $a всегда empty, ибо неоткуда брать было брать предыдущее значение, ты его не сохранял.
1. <input type = "submit" value = "123"> - отсутствует атрибут name="a"
2. У всех нормальных людей register_globals отключены, поэтому нужно явно брать из $_GET['a']/$_POST['a'].
3. При каждом запуске скрипта, $a всегда empty, ибо неоткуда брать было брать предыдущее значение, ты его не сохранял.