- решил написать админку домашнего небольшого сайта, но столкнулся с проблеммой которую не могу решить без чьейто помощи, разделы редактирования, удаления, написал и все работает, а вот раздел добавления записи в БД не работает(хотя писал по тому же принцыпу что и раньше)
<html>
<p align="center"><table class="add_form" border="0">
<tr>
<td>
<p><form method="post" action="add_lessons.php">
<p>Введите название урока<br />
<input value="Название" type="text" name="title" id="title" /></p>
<p>Введите дату<br />
<input type="text" name="date" value="2012-09-31"/></p>
<p>Введите краткое описание урока <strong><ins>(c HTML тегами)</ins></strong><br />
<textarea cols="55" rows="7" name="desc">краткое описание</textarea></p>
<p>Введите полный текст урока <strong><ins>(c HTML тегами)</ins></strong><br />
<textarea cols="55" rows="10" name="text">Полное описание</textarea></p>
<p>Введите автора урока<br />
<input value="автор" type="text" name="author"/></p>
<p align="center">
<input type="submit" class="submit_add_lesson" value="Добавить урок в базу"/></p>
</form></p>
</td>
</tr>
</table></p>
</html>
Это PHP обработчик формы:
<?php
include("blocks/db.php"); //соединение с бд
//преобразование полей в переменную
if (isset($_POST['title'])) {$title = $_POST['title']; if($title == '') {unset($title); } }
if (isset($_POST['date'])) {$date = $_POST['date']; if($date == '') {unset($date);} }
if (isset($_POST['desc'])) {$desc = $_POST['desc']; if($desc == '') {unset($desc);} }
if (isset($_POST['text'])) {$text = $_POST['text']; if($text == '') {unset($text);} }
if (isset($_POST['author'])) {$author= $_POST['author']; if($author == '') {unset($author);} }
//проверка сущевствует ли переменная...
if (isset($title) && isset($date) && isset($desc) && isset($text) && isset($author))
{
//если переменные сущевствуют, то происходит mysql запрос к базе
$res = mysql_query("INSERT INTO lessons (title,date,desc,text,author) VALUES ('$title','$date','$desc','$text','$author')");
if($res == true)
{
echo "<p>Ваш урок успешно добавлен</p>";
}
else
{
echo "<p>Ваш урок не добавлен</p>";
}
}
else
{
echo "<p>Вы ввели не всю информацию в форму</p>";
}
?>
Вроде все написанно верно, но когда ввожу данные в форму и отправляю запрос, мне выдает что Ваш урок не добавлен, а это значит что запрос не прошел к БД, но и ошибки не вижу никакой в моем php запросе...
Логика if else показала что проблемма в запросе, но я не могу найти ошибки в нем...
$res = mysql_query("INSERT INTO lessons (title,date,desc,text,author) VALUES ('$title','$date','$desc','$text','$author')");[shadow=][/shadow]
Спустя 6 минут, 7 секунд (8.09.2012 - 21:20) DarkLynx написал(а):
Какой тип поля date?
Спустя 4 минуты, 2 секунды (8.09.2012 - 21:24) rocobaroko написал(а):
Цитата (DarkLynx @ 8.09.2012 - 18:20) |
Какой тип поля date? |
типы полей в таблице lessons:
поле = тип
id = int(5)
title = varchar(255)
date = date
desc = text
text = text
author = varchar(255)
если не трудно, то протестируйте скрипт у себя на хосте
Спустя 1 час, 45 минут, 29 секунд (8.09.2012 - 23:10) rooor написал(а):
$res = mysql_query("INSERT INTO lessons (title,date,desc,text,author) VALUES ('$title','$date','$desc','$text','$author')") or die(mysql_error());
Спустя 3 минуты, 41 секунда (8.09.2012 - 23:13) inpost написал(а):
if(isset($_POST['date'],$_POST['title'],$_POST['...'],$_POST[''],$_POST[''])) {
mysql_query("
INSERT INTO `table` SET `cell1` = 'value1', `cell2` = 'value2'
") or die(mysql_error());
}
Обращаем внимание на синтаксис и на кавычки.
rooor
Дело в имени ячейки desc, зарезервированное :)
Спустя 1 день, 28 минут, 59 секунд (9.09.2012 - 23:42) rocobaroko написал(а):
спасибо разобрался))
_____________
изменил бы мир, но нет исходника!