[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Присваивание значения переменной.
scar
Доброй ночи
в учебнике по пхп который я читаю есть код
Цитата
<html>
<head>
<title>Listing 10-4</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#cbda74" vlink="#808040" alink="f808040">
<?
// Все кавычки внутри $form должны экранироваться,
// в противном случае произойдет ошибка.
$form = "
<form action=\"listing10-4.php\" method=\"post\">
<input type=\"hidden\" name=\"seenform\" value=\"y\">
<b>Give us some information!</b><br>
Your Name:<br>
<input type=\"text\" name=\"name\" size=\"20\" maxlength=\"20\" value=\"\"><br>
Your Email:<br>
<input type=\"text\" name=\"email\" size=\"20\" maxlength=\"40\" value=\"\"><br>
<input type=\"submit\" value=\"subscribe!\">
</form>";
// Если форма ранее не отображалась, отобразить ее.
// Для проверки используется значение скрытой переменной $seenform.
if ($seenform != "y"):
print "$form";
else :
print "Hi, $name! Your email address is $email.";
endif;
?>
</body>
</html>

меня интересует странное объявление переменной в хтмл:
<input type=\"hidden\" name=\"seenform\" value=\"y\">
и последующие её использование:
if ($seenform != "y"):

у меня выдает ошибку
Notice: Undefined variable: seenform in C:\apache\scar.local\www\1.php on line 21
учебник читаю по пхп 4.0 не знаю можно ли тут ссылки кидать но на всякий случай не буду
у меня стоит последняя версия пхп 5. какае-то там
сервер на моем компе. апач. подскажите пожалуйсто может как-то можно все так использовать переменные таким вот образом? очень нужно. я новичек и вот уже пол ночи бьюсь с этой проблемой и не знаю как её решить



Спустя 1 час, 5 минут, 20 секунд (30.10.2011 - 04:01) kirik написал(а):
Цитата (scar @ 29.10.2011 - 19:56)
учебник читаю по пхп 4.0

Это главная проблема. Используйте $_POST['seenform'].
Я бы советовал сжечь эту книжку в полнолуние. Разница между 4-й и 5-й версиями довольно большая.

Спустя 53 минуты, 55 секунд (30.10.2011 - 04:55) scar написал(а):
понял. вобщем главная проблема у меня вот в чем.

book_function.php:

<?php
function
add_comment($comment)
{
@$date=date('d.m.Y');
$fd = fopen("comments.txt", "a");
fwrite($fd, "<p>$comment<br>$date<br><br></p>\n") or die("Нихуя не получилось!");
fclose($fd);
}
?>

сама гостевая:

<h1>Гостевая книга</h1>
<?php
include ("book_function.php");
if(!empty($_POST))
{
$comment = $_POST['text'];
add_comment($comment);
}
include("comments.txt");
?>
<form name='form1' action="static.php?content=book" method="post">
<
center><table border="0">
<
tr>
<
td><textarea name="text" cols="70" rows="5" value="y"></textarea></td>
</
tr>
<
tr>
<
td align="right">
<
input type="Submit" value="Отправить" />
</
td>
</
tr>
</
table></center>
</
form>


так вот. все в подрядке. я нажимаю кнопку отправить - на сайте появляется мною вписанная запись, под ней дата. зато вот когда нажимаешь кнопочку F5 запись появляется ещё раз. и так до бесконечности если жать F5. я понимаю что страница после обновления страницы выполняет один и тот же запрос. я пытался очистить значения $_POST после добавления комментария, но все бесполезно. всю ночь сегодня думал об этой херне и так и не пришел к верному решению. как можно обойти эту проблему? я кстати думал что можно создать другую страничку которая будет выскакивать после нажатия кнопки что-то вроде "все прошло успешно, и ссылку вернуться в гостевую книгу" но хочется чтобы сразу обновлялось. да и вопрос ещё. как делают так чтобы страничка сама обновлялась как бы когда происходит какое-то изминнеие? вот например как на мэйл ру. приходит письмо и ты сразу об этом узнаешь. не нужно жать ф5.

Спустя 20 минут, 27 секунд (30.10.2011 - 05:15) imbalance_hero написал(а):
scar
mail.ru - не ломись за искусством, там Аякс, а мне кажется, тебе ещё рановано smile.gif
Форма отправляет POST запрос, который сохраняется в браузере. Если мы используем, допустим, гостевую, то нам нужно отправить лишь 1 раз, после перебросить человека на ДРУГУЮ страницу. Не обязательно выводить то, что запись добавлена.
Перевести на другую страницу - сделать редирект:
header("Location: url");

А если запись запомнить - сессию

Спустя 7 минут, 39 секунд (30.10.2011 - 05:23) scar написал(а):
оп, благодарю. завтра буду разбираться. очень кстати приятно что ответили и разъяснили все прям среди ночи ) сенк ю -)


_____________
ай кенн ту зэ ооорфф оо май факиин оооррфф факин стайл лайк ююю!! энд барии тутутут вретмияндеерр. . ес май соллл ес май солллл ту би и ес коллдд ес май солл ес май солллллллллл мээээрриии!!!!!!!!!
я сейчас приду и убью тебя.
вот прямо сейчас приду и убью тебя!!!!!
-давай еби его. вот так, да. еби его.
Быстрый ответ:

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