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 :: Не могу внести данные в базу SQl

 PHP.SU

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


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

> Без описания
veromi
Отправлено: 19 Октября, 2011 - 23:37:08
Post Id


Новичок


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


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




На сервере в PHPMyAdmin создал базу данных email_list в ней создал таблицу rassilka, в таблице создал
создал 5 полей:

id автоинкремент, по порядку: 1,2,3,4 итд
name
email
from
comment

далее сделал форму для заполнения этой таблицы.. форма с проверкой, чтоб ячейки не были пустыми.

все делал по книге..

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <body>
  3.  
  4. <?php
  5. error_reporting(E_ALL);
  6.  
  7.  
  8. //Создаем перменные
  9.  
  10. $name='';
  11. $email='';
  12. $from='';
  13. $comment='';
  14.  
  15.  
  16.  
  17. if (isset($_POST['submit'])){
  18.  
  19.  
  20. $name=$_POST['name'];
  21. $email=$_POST['email'];
  22. $from=$_POST['from'];
  23. $comment=$_POST['comment'];
  24. $output_form = false;
  25.  
  26. if (empty($name)){
  27. echo ' <div id="answer">Нужно указать Имя, желательно реальное</div> ';
  28. $output_form = true;   
  29. }
  30.  
  31. if (empty($email)){
  32. echo ' <div id="answer">Это база для рассылки, EMAIL обязателен</div> ';
  33. $output_form = true;   
  34. }
  35.  
  36. if (empty($from)){
  37. echo ' <div id="answer">Вы забыли указать из какой страны этот емейл</div> ';
  38. $output_form = true;   
  39. }
  40.  
  41. if ( (!empty($name)) && (!empty($from)) && (!empty($email)) ) {
  42.        
  43.        
  44. //Если все заполнено верно коннектимся к базе и передаем запрос на добавление данных в базу данных     
  45.        
  46. $dbc=mysqli_connect ("127.0.0.1", "toniartl_spam", "padalka", "toniartl_rassilka");
  47.  
  48. $query = "INSERT INTO rassilka (name, mail, from, comment) " ."VALUES ($name, $email, $from, $comment)";
  49.  
  50. mysqli_query($dbc, $query)
  51. or die ('Ошибка при выполннии запроса к базе данных');
  52.  
  53. mysqli_close($dbc);
  54.  
  55. echo 'Вы успешно добавили новый емейл для рассылки';
  56.  
  57. $name='';
  58. $from='';
  59. $email='';
  60. $comment='';
  61. $output_form = true;   
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. }
  70.   else { $output_form = true;
  71.        }
  72. if ($output_form) {        
  73. ?>
  74.  
  75. <div id="form">
  76.  
  77.   <form  name="addmail" id="addmail"  action="rassilka.php" method="post">
  78.   <table border="0" cellspacing="0" cellpadding="3">
  79. <tr>
  80.    <td><div align="right"><label for="name">Имя:</label></div></td>
  81.    <td><input name="name" type="text" class="formstyle" id="name" value="<?php echo $name; ?>" autofocus/>             </td>
  82. </tr>
  83.  
  84. <tr>
  85.    <td><div align="right"><label for="email">Email:</label></div></td>
  86.    <td>
  87.    <input name="email" type="text" class="formstyle" id="email" value="<?php echo $email; ?>"/><br />
  88.    
  89.    </td>
  90.  
  91. </tr>
  92. <tr>
  93.    <td><div align="right"><label for="subject">Откуда</label></div></td>
  94.    <td><input name="from" type="text" class="formstyle" id="from" value="<?php echo $from; ?>" /></td>
  95.  
  96. <tr>
  97.    <td><div align="right"><label for="message">Комментарий:</label></div></td>
  98.    <td>
  99.    <textarea name="comment" cols="45" rows="5" id="comment" contenteditable="true" ><?php echo $comment; ?></textarea>
  100.    </td>
  101.  
  102. </tr>
  103. <tr>
  104.     <td></td>
  105.     <td>
  106.      <input type="submit" name="submit" class="button" value="Отправить" />
  107.     </td>
  108.    </tr>
  109.   </table>  
  110.   </form>
  111. </div>  
  112.  
  113. <?php
  114. }
  115. ?>
  116.  
  117.  
  118.  
  119. </body>
  120.  


выдает Ошибка при выполннии запроса к базе данных

помогите разобраться? у меня уже процессор кипит 8(
 
 Top
armancho7777777 Супермодератор
Отправлено: 19 Октября, 2011 - 23:56:59
Post Id



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


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


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




Какая ошибка-то?
(Добавление)
Вот, для начала исправьте эту строку (на 48 строке кода):

PHP:
скопировать код в буфер обмена
  1. $query = "INSERT INTO rassilka (name, mail, from, comment) VALUES ('".$name."', '".$email."', '".$from."', '".$comment."')";

(Добавление)
И такая проверка ни к чему:
PHP:
скопировать код в буфер обмена
  1. if ( (!empty($name)) && (!empty($from)) && (!empty($email)) ) {

Вы уже выше всё проверили. Достаточно теперь этого:

(Отредактировано автором: 20 Октября, 2011 - 00:04:29)

 
 Top
veromi
Отправлено: 20 Октября, 2011 - 00:28:19
Post Id


Новичок


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


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




Цитата:

И такая проверка ни к чему:


if ( (!empty($name)) && (!empty($from)) && (!empty($email)) ) {


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

или я не прав??..

Сценарий по прежнему не работает..
подставил вашу строку - бестолку...

Номер ошибки не выдает - просто пишет..
Ошибка при выполннии запроса к базе данных (то еть то что я указал)..

Помогите плиз.. надежда только на вас.. Я только начал изучать язык. .но как я понял из-за одной запятой - может ничего не работать..
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Октября, 2011 - 00:47:42
Post Id



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


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


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




Я имел в виду :

PHP:
скопировать код в буфер обмена
  1. if ( (!empty($name)) && (!empty($from)) && (!empty($email)) ) {


заменить на это:

(Отредактировано автором: 20 Октября, 2011 - 00:50:35)

 
 Top
veromi
Отправлено: 20 Октября, 2011 - 00:48:25
Post Id


Новичок


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


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






С этим разобрался..
но сценарий по прежнему не работает.. Недовольство, огорчение
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Октября, 2011 - 00:50:52
Post Id



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


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


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




На время поменяйте это:

PHP:
скопировать код в буфер обмена
  1. mysqli_query($dbc, $query)
  2. or die ('Ошибка при выполннии запроса к базе данных');


На это:



Посмотрите что пишет.

(Отредактировано автором: 20 Октября, 2011 - 01:08:25)

 
 Top
veromi
Отправлено: 20 Октября, 2011 - 01:00:23
Post Id


Новичок


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


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




Warning: mysqli_error() expects exactly 1 parameter, 0 given in Z:\home\site.ru\www\rassilka.php on line 64
Вы успешно добавили новый емейл для рассылки


64 стока это mysqli_error();
(Добавление)
что такое классы в php я пока не знаю..
про букву i - где убрать ее?
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Октября, 2011 - 01:09:05
Post Id



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


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


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




veromi пишет:
про букву i - где убрать ее?

Это я не Вам)
Ошибся.
(Добавление)
Покажите весь исправленный код
 
 Top
veromi
Отправлено: 20 Октября, 2011 - 01:16:26
Post Id


Новичок


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


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




Спасибо большое за помощь..
Подсказали на паралельном форуме ..
CODE (htmlphp):
скопировать код в буфер обмена
  1. $query = "INSERT INTO `rassilka` (`name`, `mail`, `from`, `comment`) VALUES ('$name', '$email', '$from', '$comment')";



Все заработало.. УРА!!
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Октября, 2011 - 01:18:52
Post Id



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


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


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




veromi пишет:
'$name', '$email', '$from', '$comment'

С этим заработало?!)
Интересно)
 
 Top
veromi
Отправлено: 20 Октября, 2011 - 01:20:56
Post Id


Новичок


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


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




выкладываю код

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $dbc=mysqli_connect ("127.0.0.1", "test", "test", "toniartl_rassilka");
  3.  
  4. $query = "INSERT INTO `rassilka` (`name`, `mail`, `from`, `comment`) VALUES ('$name', '$email', '$from', '$comment')";
  5.  
  6. mysqli_select_db($dbc,"toniartl_rassilka");
  7.  
  8.  
  9.  
  10.  
  11. mysqli_query($dbc, $query)
  12.  
  13.  
  14. or die ('Ошибка при выполннии запроса к базе данных');
  15.  
  16.  
  17.  
  18. echo 'Вы успешно добавили новый емейл для рассылки';
  19.  
  20.  
  21.  
 
 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