[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемма в коде!
rocobaroko
Вступление:
  • решил написать админку домашнего небольшого сайта, но столкнулся с проблеммой которую не могу решить без чьейто помощи, разделы редактирования, удаления, написал и все работает, а вот раздел добавления записи в БД не работает(хотя писал по тому же принцыпу что и раньше)
Вообщем вот форма добавления записи в БД:
<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 написал(а):
спасибо разобрался))


_____________
изменил бы мир, но нет исходника!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.