[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не добавляет в БД
Dima59
Здравствуйте, помогите пожалуйста, немогу понять в чём причина...

Есть БД в mysql

--------------------------------------------------------------------------------------------------
-- Структура таблицы `deti`
--

CREATE TABLE IF NOT EXISTS `deti` (
`deti_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`deti_login` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`deti_DR` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`deti_FIO` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`deti_Gruppa` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`deti_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=10 ;

--
-- Дамп данных таблицы `deti`
--

INSERT INTO `deti` (`deti_id`, `deti_login`, `deti_DR`, `deti_FIO`, `deti_Gruppa`) VALUES
(1, '', '', 'Колян', ''),
(2, '', '', 'Андрей', '');


--------------------------------------------------------------------------------------------------

Есть файл ввода:

--------------------------------------------------------------------------------------------------
 <HTML>
<HEAD>
<TITLE>
Выбор группы</TITLE>
<BODY>
<CENTER>
<P>
<TABLE
WIDTH = 400><TR><TD align = right>
<FORM
ACTION="deti.php" METHOD="POST">
ФИО вашего ребёнка:<BR> <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
<P>

День Рождения вашего ребёнка:<BR> <INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">
<P>

Вы хотите записать его в группу:
<SELECT NAME="preference">
<OPTION
value = "1-2">С 1 до 2х лет
<OPTION value = "2-4">С 2 до 4 лет
<OPTION value = "4-6">С 4 до 6 лет
</SELECT>
<P>
<INPUT
TYPE="submit" VALUE="Отправить запрос!">
</FORM>
</TD></TR></TABLE></CENTER>
</BODY>
</HTML>

--------------------------------------------------------------------------------------------------

Ну и есть сам код:

--------------------------------------------------------------------------------------------------
 <?
/* Этот скрипт получает переменные из request.html */

/* Переменные для соединения с базой данных */

$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "aut";

/* Таблица MySQL, в которой хранятся данные */
$userstable = "deti";


/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());

echo "<CENTER>";
echo "Привет, ".$_POST['name'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Вас интересуют ".$_POST['preference'].". Информацию о них мы пошлем вам на email: ".$_POST['email'];
echo "</CENTER>";


/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO deti VALUES('','$name','$email','$name', '$preference')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
echo "Информация о вас занесена в базу данных.";

/* Закрыть соединение */
mysql_close();
?>

--------------------------------------------------------------------------------------------------

Дак вот почему то всё работает, добавлется в БД но смотря через phpmyadmin там все значения пустые почему то!
Я так понял вся ошибка в этой строке
$query = "INSERT INTO deti VALUES('','$name','$email','$name', '$preference')";

Т.к. если вместо этих значений '','$name','$email','$name', '$preference' поставить свои то всё добавляеться :o

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



Спустя 1 час, 20 минут, 43 секунды (25.12.2010 - 01:15) inpost написал(а):
Ко мне в подпись, особенно последнюю в раздел MySQL +)

Спустя 5 минут, 56 секунд (25.12.2010 - 01:21) sixpoundeeer написал(а):
Инициализируйте переменные. Их у вас просто напросто не существует.

Спустя 6 часов, 54 минуты, 7 секунд (25.12.2010 - 08:15) Dima59 написал(а):
Цитата (inpost @ 24.12.2010 - 22:15)
Ко мне в подпись, особенно последнюю в раздел MySQL +)

что то ничего не нашёл...

Спустя 1 минута, 8 секунд (25.12.2010 - 08:16) Dima59 написал(а):
Цитата (sixpoundeeer @ 24.12.2010 - 22:21)
Инициализируйте переменные. Их у вас просто напросто не существует.

какие переменные??
я так понял вот эти?
'$email','$name', '$preference'

а не подскажете как их инициализировать??

Спустя 1 час, 31 минута, 28 секунд (25.12.2010 - 09:48) linker написал(а):
Откуда у вас берутся $email, $name, $preference? Когда ответите на этот вопрос, то подумайте, как обычно получают данные от пользователя ($_GET, $_POST, $_REQUEST)? У вас отключено, как и положено, register_globals.

Спустя 56 минут, 5 секунд (25.12.2010 - 10:44) Dima59 написал(а):
Спасибо, я так понял надо дописать просто

$name=$_POST['name'];
$email=$_POST['email'];
$preference=$_POST['preference'];

и щас вроде работает!

Щас только не понимаю зачем и что такое register_globals и где его включить?
И ещё вопрос - какую нужно установить кодировку чтобы из формы в таблицу заносилься русский язык
Быстрый ответ:

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