powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не могу найти ошибку в форме
7 сообщений из 7, страница 1 из 1
Не могу найти ошибку в форме
    #39696756
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане, прошу помощи в поиске ошибки, которой не вижу.
Имеется форма:
Код: html
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.
<form action="add.php" method="post" id="formAdd" name="formAdd">
<input type="date" name="Date" value="<?php echo date("Y-m-d");?>" title="Дата начала" required>
<textarea rows="1" name="content" placeholder="Описание (HTML)" required></textarea>
<!-- // -->
<select name="repeat" title="Повторять" required>
<option value="" selected disabled>Повторять</option>
<option value="EVERYDAY">Ежегодно</option>
<option value="MONTHLY">Ежемесячно</option>
<option value="EVERYDAY">Ежедневно</option>
<option value="INTERVAL">Интервал</option>
<option value="WED, FRI">Среда, Пятница</option>
<option value="WEEKDAYS">По будням</option>
<option value="WEEKENDS">По выходным</option></select>
<!-- // -->
<select name="allDay" title="allDay" required>
<option value="" selected disabled>allDay</option>
<option value="true">true</option>
<option value="false">false</option></select>
<!-- // -->
<select name="private" title="Приватность" required>
<option value="" selected disabled>Приватность</option>
<option value="atr">atr</option>
<option value="opiums">opiums</option></select>
<!-- // -->
<input type="date" name="endDate" value="<?php echo date('Y-m-d',strtotime(date("Y-m-d", time())." + 365 day"));?>" title="Дата окончания" required>
<input id="button" type="button" value="Отправить" onclick="AjaxFormRequest('messegeResult', 'formAdd', 'add.php')"/> <input type="button" title="Обновить страничку" value="&reg;" onClick='window.location.reload();'>
<input type="submit" value="Тест"/>


Форма отправляет данные через PHP-обработчик:
Код: php
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.
echo 'Дата начала: '.$_POST['Date'];
	echo '<br>Описание (HTML): '.$_POST['content'];
	echo '<br>Повторять: '.$_POST['repeat'];
	echo '<br>allDay: '.$_POST['allDay'];
	echo '<br>Дата окончания: '.$_POST['endDate'];
	echo '<br>Приватность: '.$_POST['private'];
	echo '<br><br>';
	
	$null = $_POST['Date'] && $_POST['content'] && $_POST['repeat'] && $_POST['allDay'] && $_POST['endDate'] && $_POST['private'];
	if($null == "") die("<font color='#800'>Пустые значения запрещены!</font>");

	$con = mysql_connect("localhost","user","pass");
	$db = mysql_select_db("base", $con);

	$query = "INSERT INTO calendar (Date, content, repeat, allDay, endDate, private) VALUES ('".$_POST['Date']."','".$_POST['content']."','".$_POST['repeat']."','".$_POST['allDay']."','".$_POST['endDate']."','".$_POST['private']."')"; 

  if(mysql_query($query)) 
  { 
     echo "<font color='#3EBB45'>Данные успешно добавлены</font>";
     echo "<meta http-equiv='refresh' content='1'>";
  } 
  else 
  { 
    echo "<b>Ошибка - </b>".mysql_error();	
  } 
	echo '<p />';


Но, при отправке получаю ошибку:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
Дата начала: 2018-09-02
Описание (HTML): Тест!
Повторять: EVERYDAY
allDay: true
Дата окончания: 2019-09-02
Приватность: atr

Ошибка - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'repeat, allDay, endDate, private) VALUES ('2018-09-02','Тест!','EVERYDAY','t' at line 1


Что может быть не так?
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696761
Polar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
opiums,

Ошибка в $query (запросе к БД).
Выведи его себе и попробуй запустить в phpmyadmin или чем ты там к базе напрямую ходишь. Сервер тебе скажет что не так с синтаксисом.
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696762
Polar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оффтоп, конечно. Извини, у меня просто проф привычка и глаза "мозолит", но ты хотя бы проверяй значения перед вставкой в БД, а то я смотрю про SQL injection тебе никто не рассказывал.
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696774
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Polar, ну это уже будет написано потом, в настоящий момент файл закрытый и будет использоваться в личных целях.
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696777
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Polar, примерно такой же ответ и получается:
Код: sql
1.
2.
mysql> INSERT INTO calendar (Date, content, repeat, allDay, endDate, private) VALUES ('2018-09-02','Тест!','EVERYDAY','true','2019-09-02','atr');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'repeat, allDay, endDate, private) VALUES ('2018-09-02','Тест!','EVERYDAY','t' at line 1
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696784
opiums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема оказалась в столбце repeat , переименовал в repeats
...
Рейтинг: 0 / 0
Не могу найти ошибку в форме
    #39696787
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
opiumsPolar, ну это уже будет написано потом, в настоящий момент файл закрытый и будет использоваться в личных целях.
Сам то в это веришь?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не могу найти ошибку в форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]