меня интересует странное объявление переменной в хтмл:
<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 написал(а):
scarmail.ru - не ломись за искусством, там Аякс, а мне кажется, тебе ещё рановано

Форма отправляет POST запрос, который сохраняется в браузере. Если мы используем, допустим, гостевую, то нам нужно отправить лишь 1 раз, после перебросить человека на ДРУГУЮ страницу. Не обязательно выводить то, что запись добавлена.
Перевести на другую страницу - сделать редирект:
header("Location: url");
А если запись запомнить - сессию
Спустя 7 минут, 39 секунд (30.10.2011 - 05:23) scar написал(а):
оп, благодарю. завтра буду разбираться. очень кстати приятно что ответили и разъяснили все прям среди ночи ) сенк ю -)
_____________
ай кенн ту зэ ооорфф оо май факиин оооррфф факин стайл лайк ююю!! энд барии тутутут вретмияндеерр. . ес май соллл ес май солллл ту би и ес коллдд ес май солл ес май солллллллллл мээээрриии!!!!!!!!!
я сейчас приду и убью тебя.
вот прямо сейчас приду и убью тебя!!!!!
-давай еби его. вот так, да. еби его.