Автор Тема: Гостевая  (Прочитано 19663 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« : 11 Февраля 2002, 03:20:04 »
Написал гостевуху на ПХП. Это мой первый опыт, то есть все элементарно. Всего одна страница, то есть форма, в которую вводятся данные, и на этой же странице отображается вся информация, которая была ранее в форму введена. Все, вроде, работает:) Но одна из проблем в том, что когда входишь на эту страницу, то почему-то отправляется-отображается пустая мессага. И так при каждом входе. Как этого избежать?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
эээ
« Ответ #1 : 11 Февраля 2002, 03:33:53 »
Цитировать
Но одна из проблем в том, что когда входишь на эту страницу, то почему-то отправляется-отображается пустая мессага. И так при каждом входе. Как этого избежать?
а что значит пустая мессага? и при каждом входе? :)
Евгений aka Razor,

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #2 : 11 Февраля 2002, 04:16:15 »
Все сообщения выводятся в виде таблицы. Так вот, при загрузке страницы появляется пустое сообщение. То есть как будто кто-то просто нажал сабмит не написав ничего. Я еще не сделал проверку данных просто. То есть можно отправить пустые поля. И вот они как-то сами отправляются, когда входишь на страницу...

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
Гостевая
« Ответ #3 : 11 Февраля 2002, 05:20:07 »
ты в форме когда отправляешь сообщение посылай ещё и пуременную

и потом проверяй если эта переменная равна еденице значит добавляй... если нет то просто отображай...

Оффлайн Antoxa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
Гостевая
« Ответ #4 : 11 Февраля 2002, 06:31:29 »
вот как раз когда ты сделаешь проверку пришли данные или нет, то все и заработает :))

т.е. когда они не пришли => гб просто читают => показать форму

если есть данные => добавить сообщение
AnToXa - born programmer

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #5 : 11 Февраля 2002, 17:14:00 »
Возможно, что-то напутано с форматом файла сообщений.
К примеру, если есть дополнительный перевод строки, то сообщение пустое и будет.

И, думаю, следует добавить после сохранения:
header("Location: $PHP_SELF");
чтобы не было случайной возможности обновить страничку и разместить дважды сообщение.
с уважением,
магистр белой магии.

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #6 : 11 Февраля 2002, 21:20:28 »
Цитировать

Значение переменной, которая здесь указана, становицца равной единице, после отправки формы, или когда форма рисуецца?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
:)
« Ответ #7 : 11 Февраля 2002, 21:31:26 »
Цитировать
Значение переменной, которая здесь указана, становицца равной единице, после отправки формы, или когда форма рисуецца?

после сабмита естественно.
Евгений aka Razor,

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Гостевая
« Ответ #8 : 11 Февраля 2002, 21:43:53 »
дай исходник лучше
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #9 : 11 Февраля 2002, 22:16:43 »
Цитировать
после сабмита естественно.

Я тоже так считаю. Но такое чувство, что нет... Не получаецца на фиг...

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #10 : 11 Февраля 2002, 22:25:52 »
 //Форма
$form = "
 
   
     
       

       Ваше имя :

       


       Ваш email :

       


       Сообщение :

       

       
     
   
 
";        
// Заполнялась ли форма ранее
 print "$form";

 if ($seenform != "y") :
     add_guest($name,$email,$comments);
 endif;        
 
 view_guest ();

?>

Это скрипт. В этом виде он работает неправильно. Путаница у меня в чем :
1. Куда вставить строку print "$form";
2. Куда вставить строку add_guest($name,$email,$comments);
3. Куда вставить строку view_guest ();

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
пример
« Ответ #11 : 11 Февраля 2002, 22:25:57 »
html:






script.php:
print "\\$var = \'".$var."\'
";
print "\\$text = \'".$text."\'
";
?>
Евгений aka Razor,

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Гостевая
« Ответ #12 : 11 Февраля 2002, 22:32:37 »

<?
function 
form($name=""$email=""$comments="") {
?>
<table > 
<form action="gesta.php" method="post"> 
<tr> 

Ваше имя :
 
<input type="text" name="name" value="<?=$name?>">
 

Ваш email :
 
<input type="text" name="email" value="<?=$email?>">
 

Сообщение :
 
<textarea name="comments" ><?=$comments?></textarea>
 
<input type="submit" value="submit"> 
</tr> 
</form> 
</table>
<?
}

if(!isset(
$submit)) {
   
// Здесь также вывод записей из гостевой
   
form();
} else {
   if(
$name == \'\' || $email == \'\' || $comments == \'\') {
       print \'Ошибка
\';
       form($name, $email, $comments);
   } else {
       // добавление $name, $email, $comments
       Header("Location: $PHP_SELF");
   }
}
?>
Евгений aka Razor,

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Гостевая
« Ответ #13 : 11 Февраля 2002, 22:33:31 »
Угу...

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Бритве...
« Ответ #14 : 11 Февраля 2002, 23:13:13 »
Что-то не получаецца...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28