PHP - GuestBook

Модератор: Злобный

Ответить
Аватара пользователя
Крестоносец
Продвинутый
Сообщения: 350
Зарегистрирован: Вт авг 05, 2003 15:33

PHP - GuestBook

Сообщение Крестоносец »

<?php

$gbpath="gb.dat";
if(getenv("QUERY_STRING")=="" && getenv("REQUEST_METHOD")=="GET"){

?>
<html>
<title>Запись в гостевой книге</title>
<body>
<form action=gb.php method=post>
<input type=hidden name=action value=add>
Ваше имя: <input type=text name=aname><br>
E-mail:<input type=text name=email><br>
Сообщение:<textarea name=mess></textarea><br>
<input type=submit value=Записать><input type=reset value=Очистить>
</form>
</body>
</html>

<?php }

elseif($action=="add"){
if(!file_exists($gbpath))
{

$f=fopen($gbpath,"w");
fwrite ($f,"",0);
@chmod($f, 0664);
fclose($f);

}
$f=fopen($gbpath,"r");
$oldData = fread($f, filesize ($gbpath));
fclose($f);
$f=fopen($gbpath,"w+");
fputs($f,"$aname\n");
fputs($f,"$email\n");
$mess=ereg_replace("\n"," ",$mess);
fputs($f,"$mess\n");
fwrite($f,$oldData);
fclose($f);
Header("Location: gb.php?action=list");
}


elseif($action=="list"){

echo "<center><b>Записи в гостевой книге</b></center>";
$f=fopen($gbpath,"r");
while(1){

$aname=fgets($f,1000);
$email=fgets($f,1000);
$mess=fgets($f,1000);
if(feof($f)) break;
echo "<hr>Автор:<a href=mailto:$email>$aname</a><br>";
echo "Сообщение:<br>$mess<br>";

}
fclose($f);

}

?>


такая фишка, кто сможет помочь ?? Мне выдает еррор: Undefined variable: action , как показать чтоб он брал резалт для акшин из формы??
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Если у тоебя пхп выше 421(кажись) поставленный по умолчанию то у него register_globals выключен. Соотвественно никакой переменной action ниоткуда не берётся а все гет и пост переменные остаются в своих массивах $_GET и $_POST соотвественно.

Решений 2:
плохое - поставить register_global=On в php.ini
хорошее - привыкать писать код используя глобальные массивы
Аватара пользователя
Крестоносец
Продвинутый
Сообщения: 350
Зарегистрирован: Вт авг 05, 2003 15:33

Сообщение Крестоносец »

ZorroGFS,
аха, спасибо большое :)
Аватара пользователя
Крестоносец
Продвинутый
Сообщения: 350
Зарегистрирован: Вт авг 05, 2003 15:33

Сообщение Крестоносец »

ZorroGFS,

Ну ты наверно догодался уже какое решение я принял :)

[off]правильно 1-ое тойсть плохое :lol: [/off]
Ещё раз спасибо.
Аватара пользователя
ZorroGFS
Продвинутый
Сообщения: 961
Зарегистрирован: Вт сен 10, 2002 11:25
Откуда: Кишинёв
Контактная информация:

Сообщение ZorroGFS »

Benutzer,
Да велкам в общем :)

Тебе решать как бы, код грязненький и без этого :D
Ответить

Вернуться в «Программирование»