Занесение данных в базу

  • Автор темы Автор темы amen666
  • Дата начала Дата начала

amen666

Новичок
Занесение данных в базу

Здравствуйте. Помогите найти ошибку.
Делаю гостевую книгу. Проблема в том, что в таблицу не заносятся данные об имени отправителя, теме, мейле, и собственно само сообщение.
Однако очередная запись создаётся. В постах отображается только дата. Все остальные поля пусты.

Мне кажется, что ошибка в несоответствии значений следующих запросов:

Создание таблицы:
PHP:
mysql_query ("CREATE TABLE IF NOT EXISTS  a (    id int(10) unsigned NOT NULL auto_increment PRIMARY KEY,    dt datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,    name varchar(100) NOT NULL,    theme varchar(100),    email varchar(100),    message text NOT NULL)") or die ("Не могу создать таблицу gb2.");

Запись в таблицу:

PHP:
mysql_query("Insert into a(dt,name, theme, email, message)  VALUES (now(),'$name','$theme', '$email','$message')");

Подскажите в чём именно ошибка. Заранее спасибо.
 
$name $theme $email $message - в переменных точно чтото есть?

Скорее всего их там нет. А лежат они где-нибудь в $_POST['name'] и т.д.
 
Господи, Adelf , я за тебя помолюсь перед сном)))!!!!
Я уже целый день лазаю по форумам и ты первый кто без лишнего выпендрёжа просто указал на ошибку.
Спасибо.
 
amen666
Тебе дико повезло нарваться на доброхота.
Доброхоты сюда редко заходят.
Злопыхатели обычно посылают www.phpfaq.ru/debug

Ты сходи, почитай и таких вопросов больше у тебя возникать не будет.
 
Тогда печально.
 
Здравствуйте !! может поможете нужно проверить наличие записи в таблице. Если есть то в далнейшем использовать ид етой записи, а если такой нет добавить новую. Второй день бюсь ничего не плучается. Помогите чем сможете, может скриптик похожий есть. Буду очень признателен.
 
А вот тебе не повезло сегодня.

Как именно что ты пробовал, что у тебя не получалось?
 
1. занеси данные в таблицу.
2. проверь, увеличился ли размер файла таблицы)
 
mysql_query("Insert into a(dt,name, theme, email, message) VALUES (now(),'$name','$theme', '$email','$message')");
чтоб не было недоразумений всегда использую так:
PHP:
$sql = "Insert into a(dt,name, theme, email, message)  VALUES (now(),'$name','$theme', '$email','$message')";
if(DEBUG_MODE) echo "$sql\n";
mysql_query($sql);
 
Извеняюсь я еще плохо разбираюсь етот код добавляет запись?
У меня таблица год рождения, а вторая данные ребёнка.
ребёнков много а " year" мало вот я при выводе данных присоединяю к таблице user, ид таблицы "year"


[ $ql1=mysql_query("SELECT id_year FROM year WHERE year = '$year' and status=1");

if (mysql_num_rows($ql1)==1){

echo " Вывод 1 Запись есть";
}
else{
echo " Вывод 2 Записи нет";
} ]


Дальше будет вместо "echo" Выполнятся действие если запись есть, сохранить ид в переменную чтоб в дальнейше добавить в другую базу, если нет добавить новую запись в таблицу.
Я наверно чегото напутал с оператором " if "
проверяю когда запись есть, и когда записи нет
всегда выводит или первую запись, или вторую

может есть какието другие конструкции , гдето видел функцию empty() правда не знаю как она работает


Помогите пожалуйста!!!!!!!!!!
 
MVV
Для чего выносить год рождения в отдельную таблицу?
 
Чтоб небыло повторных данных , в примере год рождения, а есть еще другие таблицы повторяющихся данных очень много у меня 8 таблиц с информацией о пациентах , так что приходится економить место на диске от избытка данных
 
если размер повторяющихся данных не превышает размера ключа, то дополнительная таблица не нужна.
 
Ну если совсем точно, вы проверяете одну ли строку вам вернул запрос или не одну.
Работает вполне корректно. Если в таблице годов года не повторяются, то условие срабатывает при наличии записи с годом в таблице. Что не устраивает?
 
У меня ещё проблемка. Сделал к гостевой админку. Нужно её запоролить. Сделал так: в файл admin.php затолкал следующий код:
PHP:
<?include "../config.php";
echo 
"
<right><a href=../../guestbook.php>Просмотреть сообщения</a></right>
<form method=\"POST\">
<table width=80%>
  <tr>
    <td width=50% align=right>login: </td>
    <td width=50% align=left><input type=\"text\" name=\"login\" value=\"Логин\" size=\"40\"></td>
  </tr>
  
  <tr>
    <td width=50% align=right>password: </td>
    <td width=50% align=left><input type=\"password\" name=\"pass\" value=\"Пароль\" size=\"40\"></td>
  </tr>
  
  <tr>
    <td></td>
    <td align=left>
       <input type=\"hidden\" name=\"action\" value=\"verify\">
       <input type=\"submit\"value=\"Отправить\">
       <input type=\"reset\" value=\"Очистить\">
    </td>                
  </tr>
  </table>
  
  </form>";


if (isset($action) && ($action=="verify") && isset($login) && ($login==$adm) && isset($pass) && ($pass==$ps)) {

- это форма для ввода логина и пароля. И условие в конце.
И дальше(после фигурной скобки) поместил всё остальное - объявление переменных, формы редактирования и т.п.
Проблема в том, что на денвере всё работает, на хосте - форма не реагирует на введённые значения и не пускает в админку.
Что делать?
 
Сверху