[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: реакция на каждое нажатие кнопки
chertixa
Здравствуйте!
Мне необходимо, чтобы скрипт выводил на экран кнопку и число, равное "какой раз кнопка была нажата". Т.е:
[кнопка]
нажали

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

Спустя 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

Спустя 2 дня, 8 часов, 6 минут, 20 секунд (12.05.2011 - 15:58) chertixa написал(а):
walerus, не все понятно)
За счет чего в твой проге работает отклик на каждое нажатие кнопки?
Ведь нет бесконечного цикла и ожидания нажатия кнопки...

И функция inc выполняется 1 раз всего, как оказалось...

Спустя 3 дня, 20 часов, 10 минут, 10 секунд (16.05.2011 - 12:08) walerus написал(а):
Вот это поле скрытое и оно передает значение переменной
 <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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.