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]   

> Без описания
MBmusic
Отправлено: 16 Марта, 2012 - 17:27:32
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


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




в общем незнаю почему так выходит, уже кучу раз просмотрел код и не выкупаю в чем проблема......при заполнении форм и нажатии сабмит должно записывать в базу, оно то записывает но сразу дважды) заполнил форму и записало в базу одно и тоже два раза, не пойму почему...

вот форма
CODE (html):
скопировать код в буфер обмена
  1.    <form action="" name="post" method="post">
  2.                   <table style="padding-left:10px; padding-top:10px; font:normal 14px/18px 'Trebuchet MS', Arial, Helvetica, sans-serif;">
  3.                                   <tr>
  4.                                      <td>Ваше Ім'я:</td>
  5.                                   </tr>
  6.                   <tr>
  7.                      <td class="name_com_inp"><input type="text" name="com_name"></td>
  8.                       </tr>
  9.                                   <tr>
  10.                                      <td>Коментар:</td>
  11.                                   </tr>
  12.                       <tr>
  13.                          <td class="text_com_inp"><textarea size="35" type="text" rows="5" cols="32" name="com_post"></textarea></td>
  14.                       </tr>
  15.                       <tr height="60">
  16.                          <td><input class="button_com" type="submit" value="Опубліковати" name="com_submit"></td>
  17.                      </tr>
  18.                  </table>
  19.    </form>


вот код обработки и записи
PHP:
скопировать код в буфер обмена
  1.                             <?PHP
  2.  
  3.                 $com_name = $_POST['com_name'];
  4.                 $com_post = nl2br($_POST['com_post']);
  5.                 $com_submit = $_POST['com_submit'];
  6.                
  7.                 $post_id = $_GET['id'];
  8.                                 $immage_location = "./skins/images/avatar/default_avatar_128.gif";
  9.                                
  10.                 $date_com = date("d.m.y");
  11.                 $date_time_com = date("G:i");
  12.  
  13.                 if ($com_submit)
  14.                 {
  15.                    if ($com_name&&$com_post)
  16.                    {                                                       
  17.                                       $queryreg_add = mysql_query("INSERT INTO comments (name, text, date, date_time, post_id, immage_location) VALUES ('$com_name', '$com_post', '$date_com', '$date_time_com', '$post_id', '$immage_location')") or die(mysql_error());
  18.                       header ('Location: ?id='.$_GET['id'].'&page=forum#form');                          
  19.                                    }   
  20.                    else
  21.                    {
  22.                           echo "<div style='color:red; padding-left:10px;'>Не всі поля заповнені, або заповнені не вірно!</div>";
  23.                    }     
  24.                 }
  25.                 ?>
 
 Top
DelphinPRO
Отправлено: 16 Марта, 2012 - 17:57:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




потому что так не делают
PHP:
скопировать код в буфер обмена
  1. $com_submit = $_POST['com_submit'];
  2. ........
  3. if ($com_submit) {
  4.      .........
  5. }


пишите в условии
либо так
PHP:
скопировать код в буфер обмена
  1. $com_submit = isset($_POST['com_submit']) ? true : false;
  2. if ($com_submit) {}


то же самое касается других переменных
(Добавление)
если вы в начале своего скрипта напишите
PHP:
скопировать код в буфер обмена
  1. display_error(1);error_reporting(E_ALL);
то получите кучу предупреждений от PHP


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
MBmusic
Отправлено: 16 Марта, 2012 - 20:38:19
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


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




сделал так как вы описали выше, не помогло......хотя по сути это то же самое что и у меня было, только в правильной форме) но там дело в другом, не могу найти ошибку...

(Отредактировано автором: 16 Марта, 2012 - 20:39:03)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB