Мне необходимо, чтобы скрипт выводил на экран кнопку и число, равное "какой раз кнопка была нажата". Т.е:
[кнопка]
нажали
1
[кнопка]
нажали
2
[кнопка]
нажали
3
[кнопка]
нажали
и т.д.
Причем каждый раз число и кнопка рисуются на новой странице.
Вот то, что у меня пока есть:
<html>
<head></head>
<body>
<?
$i=0;
//print_r($_REQUEST);
if (!(isset($_REQUEST['step'])))
{?>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
<input type="submit" name="step" value="Шаг">
</form>
<?} else
{
if(isset($_REQUEST['step']))
{
echo "<br>до: ".$i;
unset($_REQUEST['step']);
inc($i);
?> <form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
<input type="submit" name="step" value="Шаг">
</form><?
}
}
function inc(&$i)
{
echo "<br>inc:<br>";
$i++;
echo "i=".$i;
}
?>
</body>
</html>
Фиксирует только первое нажатие кнопки.
Помогите, пожалуйста!
Спустя 7 минут, 28 секунд (9.05.2011 - 12:10) Игорь_Vasinsky написал(а):
зачем так мудрить? просто хранить в сессии и прибовлять
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 11 минут, 59 секунд (9.05.2011 - 12:22) walerus написал(а):
В твоем коде много лишнего и не хватает необходимого. Вот посмотри как нужно и что у тебя. Будут вопросы - пиши.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>++</title>
</head>
<html>
<head></head>
<body>
<?php
if ( !isset($_REQUEST['step']) )
{
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<input type="submit" name="step" value="Шаг">
<input type="hidden" name="step_value" value="0">
</form>
<?php
}
else
{
if(isset($_REQUEST['step_value']))
$step_value = trim($_REQUEST['step_value']);
else
$step_value = 0;
echo "до: ". $step_value ."\n<br>"; flush();
$step_value = $step_value + inc($i);
echo "После: ". $step_value ."\n<br>"; flush();
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<input type="submit" name="step" value="Шаг">
<input type="hidden" name="step_value" value="<?php echo $step_value; ?>">
</form>
<?php
}
function inc($i)
{
$i++;
return $i;
}
?>
</body>
</html>
Спустя 19 часов, 29 минут, 45 секунд (10.05.2011 - 07:51) chertixa написал(а):
walerus, спасибо огромное! Все понятно
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 дня, 8 часов, 6 минут, 20 секунд (12.05.2011 - 15:58) chertixa написал(а):
walerus, не все понятно)
За счет чего в твой проге работает отклик на каждое нажатие кнопки?
Ведь нет бесконечного цикла и ожидания нажатия кнопки...
И функция inc выполняется 1 раз всего, как оказалось...
За счет чего в твой проге работает отклик на каждое нажатие кнопки?
Ведь нет бесконечного цикла и ожидания нажатия кнопки...
И функция inc выполняется 1 раз всего, как оказалось...
Спустя 3 дня, 20 часов, 10 минут, 10 секунд (16.05.2011 - 12:08) walerus написал(а):
Вот это поле скрытое и оно передает значение переменной
а параметр в него передаем из того что получаем.
Если что то пришло, то ставим в параметр хидден, то что пришло, если ничего не пришло, то ставим - 0.
<input type="hidden" name="step_value" value="<?php echo $step_value; ?>">
а параметр в него передаем из того что получаем.
if(isset($_REQUEST['step_value']))
$step_value = trim($_REQUEST['step_value']);
else
$step_value = 0;
Если что то пришло, то ставим в параметр хидден, то что пришло, если ничего не пришло, то ставим - 0.
Спустя 5 минут, 7 секунд (16.05.2011 - 12:13) sharki написал(а):
А лучше прицепить onclick на окно, и посылать аяксом что тебе нужно, и в итоге можно легко что-то добавить на страницу
Спустя 16 часов, 30 минут, 37 секунд (17.05.2011 - 04:44) chertixa написал(а):
sharki, спасибо, я подумаю
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)