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 :: Проблемы, submit форма.

 PHP.SU

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


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

> Описание: php, submit form, sql
Troy94
Отправлено: 24 Июля, 2017 - 01:35:11
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2017  


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




Доброго времени суток, дамы и господа. Мне очень стыдно обращаться за помощью по такому пустяку, ведь скорее всего проблема всего лишь в моей невнимательности. Однако проэкт, пусть и учебный, стоит, а из тупика выйти не выходит. Я делаю это впервые, мне не показывали как оно должно работать правильно, от того этот тупик еще неприятнее. Сэнсэй исключительно занят, так что вы моя последняя надежда.

И так, мы имеем сайт на wordpress под который пишем малюсенький плагин с регистрацией объявлений. Формочка, в ней несколько селекторов, поле под дату-время, кнопка submit. Выносим значения всех селекторов и текстобокса в переменные, и все заталкиваем в базу при нажатии кнопки. Однако база этого не принемает.
Что было проверено:
- Конект с базой.
- Работоспособность переменных.
- Отображение и заполнение всех полей.
- Работоспособность sql сервера, и хоста.
- Работоспособность самой платформы (wordpress без ошибок)

Формочку клинит непосредственно на моменте передачи набора переменных в базу, ошибки не вижу в упор. Единственное что не пробовал на момент написания поста так это глобализировать те самые переменные ( которые получают значения из формы через $_POST).
Высока вероятность что подобная тема проскаковала на форуме уже не раз, прошу прощения но пока не нахожу ответа на свою проблему.
Еще прошу накидать примерчиков на тему использования dataTime виджетов. Найденный мною то ли не работает, то ли мои руки произростают не из полагающегося им места.
Прилагаю скриншот, и код. Спасибо за внимание.

https://img-host[dot]org[dot]ua/images/s[dot][dot][dot]170717174709[dot]png
https://img-host.org.ua/images/screenshotfrom20170711185757.png
Скачать файл: lostcar-plugin-1.php
Скачан раз: 31

(Отредактировано автором: 24 Июля, 2017 - 01:56:11)

 
 Top
Vladimir Kheifets
Отправлено: 24 Июля, 2017 - 08:34:49
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Troy94 пишет:

Формочка, в ней несколько селекторов, поле под дату-время, кнопка submit. Выносим значения всех селекторов и текстобокса в переменные, и все заталкиваем в базу при нажатии кнопки. Однако база этого не принемает.
................................ ....................
Формочку клинит непосредственно на моменте передачи набора переменных в базу, ошибки не вижу в упор.


Доброе утро! Как-то странно смотрятся на скриншоте, в селекторах, тексты в одинарных кавычках. Возможно, что значения в $_POST также передаются кавычках и из-за этого "база этого не принемает".
 
 Top
Troy94
Отправлено: 26 Июля, 2017 - 02:21:11
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2017  


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




Прошу прощения за отстутсвие. Проверил, но причина не в этом. Кавычки в селекторах появляются отсюда:


echo "<p>Select a color of stollen car</p> ";
echo "<select name = 'color' style='width: 200px'>";
while ($object = mysqli_fetch_object($result_select2)) {

echo "<option value = '$object->color' > '$object->color' </option>";

}

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


Vladimir Kheifets пишет:
Troy94 пишет:

Формочка, в ней несколько селекторов, поле под дату-время, кнопка submit. Выносим значения всех селекторов и текстобокса в переменные, и все заталкиваем в базу при нажатии кнопки. Однако база этого не принемает.
................................ ....................
Формочку клинит непосредственно на моменте передачи набора переменных в базу, ошибки не вижу в упор.


Доброе утро! Как-то странно смотрятся на скриншоте, в селекторах, тексты в одинарных кавычках. Возможно, что значения в $_POST также передаются кавычках и из-за этого "база этого не принемает".
 
 Top
Vladimir Kheifets
Отправлено: 26 Июля, 2017 - 07:52:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Troy94 пишет:
Прошу прощения за отстутсвие. Проверил, но причина не в этом. Кавычки в селекторах появляются отсюда:

echo "<p>Select a color of stollen car</p> ";
echo "<select name = 'color' style='width: 200px'>";
while ($object = mysqli_fetch_object($result_select2)) {

echo "<option value = '$object->color' > '$object->color' </option>";

}


Доброе утро!
1. У Вас значение в $_POST['color'] передаётся без кавычек.
Смотреть нужно, что происходит в MySQL - распечать $query и добавить mysqli_error.
PHP:
скопировать код в буфер обмена
  1. $query = "INSERT INTO lostcar.Stolen_cars (mark, model, color, abduction_date ) VALUES ($s_mark,$s_model,$s_color,$s_date)";
  2. $result_insert = mysqli_query($connect, $query) or die(mysqli_error($connect));


2. Непринципиально. У Вас все селекторы и техтовое поле должны иметь одинаковую ширину. Советую Вам определять стили в <style>....</style>.

3. Кавычки на скриншоте из-за того, что здесь ошибка: > '$object->color' </option>"; Здесь кавычек не должно быть.
Порообуйте сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <style>
  3.         select, input[type="text"] {width: 200px}
  4.        
  5.         input[type="submit"] {
  6.         height: 27px;
  7.         width: 96px;
  8.         background-color: #5d5d5d;
  9.         border: medium #717171;
  10.         color: white;
  11.         padding: 10px;
  12.         text-align: center;
  13.         font-size: 10px;
  14.         box-shadow: 1px 1px gray;
  15.         position: absolute;
  16.         left: 25px;
  17.         font-weight: bold;
  18.         }
  19. </style>
  20. <?
  21.     echo "<p>Select a color of stollen car</p> ";
  22.     echo "<select name = 'color' >";
  23.     while ($object = mysqli_fetch_object($result_select2))
  24.     {    
  25.         $color=$object->color;
  26.         $selected=($color==$_POST['color'])?"selected":"";
  27.         echo "<option value = '$color' $selected >$color</option>";
  28.     }
  29. ?>
  30. </select>

(Отредактировано автором: 26 Июля, 2017 - 08:29:26)

 
 Top
LIME
Отправлено: 28 Июля, 2017 - 21:53:17
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Vladimir Kheifets пишет:
У Вас значение в $_POST['color'] передаётся без кавычек.
ты же понимаешь что в отсутсвии константы color будет использована строка? выбросит нотайс не более
что конечно уже плохо но... не смертельно
так...на всякий заметил
 
 Top
Vladimir Kheifets
Отправлено: 28 Июля, 2017 - 22:31:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




LIME пишет:
Vladimir Kheifets пишет:
У Вас значение в $_POST['color'] передаётся без кавычек.
ты же понимаешь что в отсутсвии константы color будет использована строка? выбросит нотайс не более
что конечно уже плохо но... не смертельно
так...на всякий заметил

На всякий случай советую читать топик сверху вниз, а не с конца.
Про ковычки я написал, потому, что увидел их в селектах на скриншоте.
Тоже на всякий случай повторю скриншот автора топика:
https://img-host[dot]org[dot]ua/images/s[dot][dot][dot]170717174709[dot]png
Вопрос был задан по поводу того, что данные не сохраняются в БД.
Между прочим автор показал:
$query = "INSERT INTO lostcar.Stolen_cars (mark, model, color, abduction_date ) VALUES ($s_mark,$s_model,$s_color,$s_date)";
 
 Top
LIME
Отправлено: 28 Июля, 2017 - 22:40:12
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Vladimir Kheifets а
прошу прощения
поспешил)
дык кавычки надо добавить в запрос а не исключать из $_POST
или я снова не так понял
в любом случае неинтересно думаю ты знаешь что говоришь...
 
 Top
Troy94
Отправлено: 31 Июля, 2017 - 01:36:21
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2017  


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




Большое спасибо. Заработало! Треклятые кавычки. Надо повторить правила их применения.
Еще нуждаюсь в совете по второму вопросу, насчет виджета. Мол кликаешь по полю "Date of abduction", и выскакивает календарик.
 
 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