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

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')");
Подскажите в чём именно ошибка. Заранее спасибо.
 

Adelf

Administrator
Команда форума
$name $theme $email $message - в переменных точно чтото есть?

Скорее всего их там нет. А лежат они где-нибудь в $_POST['name'] и т.д.
 

amen666

Новичок
Господи, Adelf , я за тебя помолюсь перед сном)))!!!!
Я уже целый день лазаю по форумам и ты первый кто без лишнего выпендрёжа просто указал на ошибку.
Спасибо.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
amen666
Тебе дико повезло нарваться на доброхота.
Доброхоты сюда редко заходят.
Злопыхатели обычно посылают www.phpfaq.ru/debug

Ты сходи, почитай и таких вопросов больше у тебя возникать не будет.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Тогда печально.
 

MVV

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

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А вот тебе не повезло сегодня.

Как именно что ты пробовал, что у тебя не получалось?
 

amen666

Новичок
1. занеси данные в таблицу.
2. проверь, увеличился ли размер файла таблицы)
 

Alexandre

PHPПенсионер
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);
 

MVV

Новичок
Извеняюсь я еще плохо разбираюсь етот код добавляет запись?
У меня таблица год рождения, а вторая данные ребёнка.
ребёнков много а " 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() правда не знаю как она работает


Помогите пожалуйста!!!!!!!!!!
 

Mols

Новичок
MVV
Для чего выносить год рождения в отдельную таблицу?
 

MVV

Новичок
Чтоб небыло повторных данных , в примере год рождения, а есть еще другие таблицы повторяющихся данных очень много у меня 8 таблиц с информацией о пациентах , так что приходится економить место на диске от избытка данных
 

whirlwind

TDD infected, paranoid
если размер повторяющихся данных не превышает размера ключа, то дополнительная таблица не нужна.
 

Roomy

Новичок
Ну если совсем точно, вы проверяете одну ли строку вам вернул запрос или не одну.
Работает вполне корректно. Если в таблице годов года не повторяются, то условие срабатывает при наличии записи с годом в таблице. Что не устраивает?
 

amen666

Новичок
У меня ещё проблемка. Сделал к гостевой админку. Нужно её запоролить. Сделал так: в файл 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)) {
- это форма для ввода логина и пароля. И условие в конце.
И дальше(после фигурной скобки) поместил всё остальное - объявление переменных, формы редактирования и т.п.
Проблема в том, что на денвере всё работает, на хосте - форма не реагирует на введённые значения и не пускает в админку.
Что делать?
 
Сверху