Данные из форм передаются, проверено. Ошибка кроется в строчке INSERT INTO. Не пойму где.
Вот код обработчика:
<?php
include ("blocks/bd.php");include ("lock.php");
if (isset($_POST['title'])) {$_title = $_POST['title'];
if ($title == '') {unset($title);}}
if (isset($_POST['year'])) {$_year = $_POST['year'];
if ($year == '') {unset($year);}}
if (isset($_POST['rey_k'])) {$_rey_k = $_POST['rey_k'];
if ($rey_k == '') {unset($rey_k);}}
if (isset($_POST['rey_i'])) {$_rey_i = $_POST['rey_i'];
if ($rey_i == '') {unset($rey_i);}}
if (isset($_POST['top'])) {$_top = $_POST['top'];
if ($top == '') {unset($top);}}
if (isset($_POST['description'])) {$_description = $_POST['description'];
if ($description == '') {unset($description);}}
if (isset($_POST['text'])) {$_text = $_POST['text'];
if ($text == '') {unset($text);}}
?>
<!--Проверка введенных данных-->
<?php mysql_query ("SET NAMES cp1251");
if (isset($title) && isset($year) && isset($description) && isset($text)&& isset($rey_k)&& isset($rey_i)&& isset($top))
{
echo "Переменные существуют!";
$result = mysql_query
("
INSERT INTO filmbd (title,year,rey_k,rey_i,top,description,text)
VALUES ('$title','$year','$rey_k','$rey_i','$top','$description','$text')
");
if ($result == 'true') {echo "<p>Фильм успешно добавлен</p>";}
else {
echo "<p>Фильм не добавлен!</p>";
}
}
else {echo "<p>Введена не вся информация</p>";}
?>
Спустя 9 минут, 28 секунд (22.07.2011 - 13:16) waldicom написал(а):
Цитата (dmitruha @ 22.07.2011 - 11:06) |
Ошибка кроется в строчке INSERT INTO. Не пойму где. |
Для этого достаточно написать вот так:
$result = mysql_query
("
INSERT INTO filmbd (title,year,rey_k,rey_i,top,description,text)
VALUES ('$title','$year','$rey_k','$rey_i','$top','$description','$text')
") orr die (mysql_error());
Спустя 41 минута, 59 секунд (22.07.2011 - 13:58) dmitruha написал(а):
Удалите тему ) В запросе я не учел еще одно поле, поэтому запрос не мог пройти успешно.
Как раз функция mysql_error() помогла найти проблему.
Как раз функция mysql_error() помогла найти проблему.
Спустя 2 часа, 59 минут, 11 секунд (22.07.2011 - 16:57) Zerstoren написал(а):
Ололо! Индийский код!
Можно использовать цикл)
Можно использовать цикл)
foreach($_POST as $key=>$val)
if (isset($_POST[$key])) {
$$key = $_POST[$key];
if ($$key == '') {unset($$key);}
}
// Правда Ня?
Спустя 1 минута, 29 секунд (22.07.2011 - 16:58) waldicom написал(а):
Цитата (Zerstoren @ 22.07.2011 - 14:57) |
Можно использовать цикл) foreach($_POST as $key=>$val) if (isset($_POST[$key])) { $title = $_POST[$key]; if ($title == '') {unset($$key);} } Правда Ня? |
Не уверен, что означает "ня", но видимо это высшая степень восхищения?
В общем ниразу не "ня", простите конечно.
Спустя 1 час, 47 минут, 57 секунд (22.07.2011 - 18:46) Zerstoren написал(а):
Ой) Не все переменные в нужный вид привел.
Вообще, если мы проверяем все что пришло с формы, то почему бы и не заюзать цикл?
Вообще, если мы проверяем все что пришло с формы, то почему бы и не заюзать цикл?
Спустя 4 минуты, 27 секунд (22.07.2011 - 18:51) waldicom написал(а):
Цитата (Zerstoren @ 22.07.2011 - 16:46) |
Вообще, если мы проверяем все что пришло с формы, то почему бы и не заюзать цикл? |
Одна из причин - приходить может гораздо больше, чем нужно проверять.
Спустя 1 минута, 12 секунд (22.07.2011 - 18:52) ADiel написал(а):
if (empty($_POST[$key])) unset ($_POST[$key]);
Это в случае с циклом.
Спустя 2 минуты, 16 секунд (22.07.2011 - 18:54) Zerstoren написал(а):
Но все равно остается одна бреж)
если в форме в нейм добавят []
Не хорошо получится(((
если в форме в нейм добавят []
Не хорошо получится(((