Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Организация запроса формы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
igorska
Отправлено: 21 Апреля, 2009 - 08:52:45
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Здравствуйте. Я начинающий программист вот прочитав некоторый материал решил написать как по стандарту полагается Гостевую Книгу. Книга вроде как получилась но меня интересует такой вопрос. Как лучше мне организовать передачу данных через форму (в массив $_POST[' '] это понятно а вот как лучше проверить чтобы кнопка была нажата и пользователь не отправлял пустые запросы в БД. Вообщем весь вопрос сводиться мне на будущее как правильно проверять нажата та или иная форма и в нее отправлять нужные данные. Ниже приведу код который у меня получился. Сразу говорю в безопасность я не совался. В функциях только простенкая ф-ия соединения с базой данных


PHP:
скопировать код в буфер обмена
  1. <?
  2. require "function.php";
  3. dbconnect(teach);
  4. if (!isset($action)) {
  5. echo "<table border =1 align='center'>
  6. <form action ='' method='POST'>
  7. <tr><td> Имя</td> <td><input type = text name=name></td></tr>
  8. <tr><td> E-Mail</td> <td><input type = text name=email></td></tr>
  9. <tr><td> Комментарий</td> <td><textarea name=text wrap=virtual></textarea></td></tr>
  10. <tr><td><input type=submit value = Отправить></td></tr>
  11. </form>
  12. </table>";
  13. }
  14.  
  15. $query = mysql_query ("SELECT * FROM db_guestbook");
  16. While ($guestbook = mysql_fetch_assoc($query))
  17.   {
  18.     echo "<table border =1>
  19.         <tr><td>$guestbook[id]</td><td>$guestbook[name]</td><td>$guestbook[email]</td><td>$guestbook[time]</td></tr>
  20.         <tr><td colspan ='4'>$guestbook[text]</td></tr>
  21.         </table>";
  22.   }
  23.  
  24.  
  25.  
  26.  
  27. if ( strlen($_POST['name'])>0 && strlen($_POST['email'])>0 && strlen($_POST['text'])>0  )
  28.   {
  29.   $name = trim($_POST['name']);
  30.   $email = trim($_POST['email']);
  31.   $text = trim($_POST['text']);
  32.   $time = date("H:i:s m.d.y");
  33. $succ = mysql_query ("INSERT INTO db_guestbook (name,email,text,time) values('".$name."' ,'".$email."' , '".$text."' , '".$time."' ) ");
  34.  
  35.   }
  36.  
  37. ?>

(Отредактировано автором: 21 Апреля, 2009 - 09:50:09)

 
 Top
Stierus Супермодератор
Отправлено: 21 Апреля, 2009 - 09:44:07
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




$_POST['action'] а это откуда, что такое $action?
 
My status
 Top
igorska
Отправлено: 21 Апреля, 2009 - 09:49:49
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Stierus пишет:
$_POST['action'] а это откуда, что такое $action?


Значит оно там не надо я же и прошу разобраться как организовать мне грамотно запрос, чтобы небыло перехода на другую страницу action =' '.

$_POST['action'] убрал со скрипта

(Отредактировано автором: 21 Апреля, 2009 - 09:50:42)

 
 Top
Stierus Супермодератор
Отправлено: 21 Апреля, 2009 - 09:59:22
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




нет, это значит не нужно убрать, а нужно разобраться, для чего это там стоит Улыбка Я не знаю, для чего (потому что не вижу function.php, подгружаемый в самом начале скрипта), а вы, как автор этого чуда, знать должны.
Цитата:
Я начинающий программист вот прочитав некоторый материал решил написать как по стандарту полагается Гостевую Книгу
если ваша цель чему-то научиться - разбирайтесь, что делает каждая строчка кода .. по книжке, смотрите, что делает каждый оператор, каждая функция и постепенно понимаете логику, тут вам в этом помочь не смогут. Если же цель тупо скопировать и заставить работать - то и писать нужно "хочу что бы заработало"
 
My status
 Top
Гость
Отправлено: 21 Апреля, 2009 - 13:25:57
Post Id


УДАЛЁН










Я не уверен но может быть имелось в виду $action=$_POST['action'] и в этм function.php происходит чтото типа следующего foreach($_REQUEST as $key=>$value) {${"$key"}="$value"}

Если action пустой то вообще нехорошо так делать - лучше написать echo $_SERVER['PHP_SELF'] если на то пошло
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB