<?
$val++;
$val1++;
echo
"<form>
<input type = 'hidden'
name = 'val'
value = '$val'
>
<input type = 'text'
name = 'val1'
value = '$val1'
>
<input type = 'submit' value='make'>
</form>";
echo "<br>val = $val<br>val1 = $val1";
?>
Простейший код, после Сабмита по идее должно прибавляться по единичке, но у меня постоянно показывает единицу, не подскажите в чем проблема?
Спустя 5 минут, 8 секунд (5.05.2011 - 14:02) Игорь_Vasinsky написал(а):
Цитата |
после Сабмита по идее должно прибавляться по единичке |
не чего не должно

Спустя 2 минуты, 26 секунд (5.05.2011 - 14:04) Happy! написал(а):
После нажатия на кнопку страница обновляется и переменные переходят методом get, чтобы после обновления страницы получить их надо использовать $_GET['val'];
Спустя 53 секунды (5.05.2011 - 14:05) linker написал(а):
register_globals = offИспользуем общечеловеческие $_GET, $_POST.
Спустя 9 минут, 49 секунд (5.05.2011 - 14:15) Игорь_Vasinsky написал(а):
ну ка так попробуй:
смысл в том, что переменные храняться в суперглобалном массиве POST
и в value инпутов подставляются от туда же ;)
<?
#Сразу учимся писать красиво
#Проверим - была ли нажата sumbit
if(isset($_POST['make']))
{
#Не по мешало бы почитать про тернарный оператор
$val = empty($_POST['val']) ? 0 : $_POST['val'];
$val1 = empty($_POST['val1']) ? 0 : $_POST['val1'];
}
$val++;
$val1++;
echo "<form>"
. "<input type = hidden' name = 'val' value = '".$val."' />"
. "<input type = 'text' name = 'val1' value = '".$val1."' />"
. "<input type = 'submit' value='make'>"
. "</form>";
echo "<br>val = ".$val
. "<br>val1 = ".$val1;
?>
смысл в том, что переменные храняться в суперглобалном массиве POST
и в value инпутов подставляются от туда же ;)
Спустя 1 минута, 53 секунды (5.05.2011 - 14:17) Игорь_Vasinsky написал(а):
работает? а то не проверял
если чё не понятно - давай разбирать вместе

если чё не понятно - давай разбирать вместе

Спустя 51 минута, 23 секунды (5.05.2011 - 15:08) rez1st написал(а):
Вай, у меня в учебничке вообще все по другому, и супер глобал массив я еще ни разу не юзал)))
например вопросы:
isset - это типа проверка? было ли передано в этот глоб массив пост, значение мейк(проверка совершения действия)?
вот энто
$val = empty($_POST['val']) ? 0 : $_POST['val'];
этот кусок не пойму.
и еще вопрос, зачем в эчо ты переменные выносишь "за" оператор, если он внутри отлично пашет?
Я совсем беггинер) не судите строго.
например вопросы:
isset - это типа проверка? было ли передано в этот глоб массив пост, значение мейк(проверка совершения действия)?
вот энто
$val = empty($_POST['val']) ? 0 : $_POST['val'];
этот кусок не пойму.
и еще вопрос, зачем в эчо ты переменные выносишь "за" оператор, если он внутри отлично пашет?
Я совсем беггинер) не судите строго.
Спустя 5 минут, 18 секунд (5.05.2011 - 15:13) rez1st написал(а):
эм... в общем я почему и спросил в учебнике Энди Харрис 2005 гв
этот кусок так и написан. правда метод гет по умолчанию я поставил там было
<form method="post">
А Ваш код к сожалению не помог Игорь_Vasinsky
этот кусок так и написан. правда метод гет по умолчанию я поставил там было
<form method="post">
А Ваш код к сожалению не помог Игорь_Vasinsky
Спустя 2 часа, 6 минут, 35 секунд (5.05.2011 - 17:20) walerus написал(а):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Плюс</title>
</head>
<body>
<?php
if (isset($_REQUEST['val']) && trim($_REQUEST['val']) != '')
{
$val = trim($_REQUEST['val']);
$val++;
}
else
$val = 1;
if (isset($_REQUEST['val1']) && trim($_REQUEST['val1']) != '')
{
$val1 = trim($_REQUEST['val1']);
$val1++;
}
else
$val1 = 1;
?>
<form method="POST" action="">
<input type="hidden" name="val" value="<?php echo $val; ?>" size="20">
<input type="text" name="val1" value="<?php echo $val1; ?>" size="20">
<input type="submit" value="Отправить" name="B1">
</form>
<?php
echo "<br>val = $val<br>val1 = $val1";
?>
</body>
</html>
Спустя 1 час, 24 минуты, 17 секунд (5.05.2011 - 18:44) rez1st написал(а):
Вай, спс, я поставлю плюс как только 10 постов наберу)
Спустя 9 минут, 44 секунды (5.05.2011 - 18:54) DedMorozzz написал(а):
Какая популярная аватарка...
Спустя 4 минуты, 19 секунд (5.05.2011 - 18:58) inpost написал(а):
DedMorozzz
Я только что тоже об этом подумал
Может её удалить из БД?!
Я только что тоже об этом подумал


Спустя 2 минуты, 34 секунды (5.05.2011 - 19:01) Zerstoren написал(а):
$val = empty($_POST['val']) ? 0 : $_POST['val'];
это сокращенный вариант условий которые содержат только два варианта ответов.
если по русски
$val = empty($_POST['val']) ? если она пуста, то вернет ноль : иначе вернет массив val из $_POST;
К сокращенным записям так-же относятся if, elseif, else, while, for, foreach, switch
вроде все перечислил
т.е. вызывается так
if(isset($got) ): // Указываем двоеточие а не скобку фигурную
// Some code
endif;
Аналогично проделывается с выше приведенными операторами.
Весьма удобно когда мы выделяем в условие здоровый кусок кода или уже в коде куча скобок.
Но будь внимателен, если на сервере отрублен параметр shor tag *вроде так обзывается*
То весь сайт ляжет с синтаксической ошибкой.
Ровно так же как и запись <? вместо <?php
Спустя 12 часов, 56 минут, 12 секунд (6.05.2011 - 07:57) rez1st написал(а):
О, Zerstoren респект, спасибо большое за объяснение, теперь блок выбора станет проще в понимании.
Спустя 38 минут, 30 секунд (6.05.2011 - 08:35) rez1st написал(а):
В итоге вышло
спасибо тем кто помог. разобраться с этим мне над было для того, что у меня в учебнике в дз нужно сделать код угадай число, тепло\холодно, а для этого там рекомендовано использовать скрытые поля для хранения переменной между запусками прогр(а я сделал иначе).
Огромное спасибо за помощь,
небольшой вопросик, про $_REQUEST и $_POST - я так понял что в этих массивах можно хранить любые данные и возвращать, и всеж стоит вопрос, как хранить в скрытых полях))) ибо я так понял поставленную задачу я не выполнил))l1";
[/php]?>
<?php
if (isset($_REQUEST['val']))
{
$val = $_REQUEST['val'];
$val++;
}
else
$val = 1;
//end if
if (isset($_REQUEST['val1']))
{
$val1 = $_REQUEST['val1'];
$val1++;
}
else
$val1 = 1;
//end if
echo "<form method='POST' action=''>
<input type='hidden'
name='val'
value='$val'>
<input type='text'
name='val1'
value='$val1'
size='20'>
<input type='submit'
value='send'>
</form>";
echo "<br>val = $val<br>val1 = $val1";
?>
спасибо тем кто помог. разобраться с этим мне над было для того, что у меня в учебнике в дз нужно сделать код угадай число, тепло\холодно, а для этого там рекомендовано использовать скрытые поля для хранения переменной между запусками прогр(а я сделал иначе).
Огромное спасибо за помощь,
небольшой вопросик, про $_REQUEST и $_POST - я так понял что в этих массивах можно хранить любые данные и возвращать, и всеж стоит вопрос, как хранить в скрытых полях))) ибо я так понял поставленную задачу я не выполнил))l1";
[/php]?>
_____________
Если только захотеть...