[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не выполняется запрос к базе данных
maxsim1982i
простой на мой взгля запрос добовление записи в таблицу

$sql="INSERT INTO `avtohitk_auto`.`user` (`id`,

`name`,`gorod`,`email`,`vid`,`adres`,`tel_gor`,`tel_mob`,`icq`,`licen`,`kr`,`ob`,`pass`,`data_reg`) VALUES

(null,'
$name','$gorod','$email','$vid','$adres','$tel_gor','$tel_mob','$icq','$licen','$kr','$ob','$pass','$data')";

но почему то не выполняется, все переменные проверил все имеют значение кто поможет разобраться вот весь код:

/////////////////проверка на существование переменных//////////////////////////////////////////////////
if (empty($_POST['name'])) { header ('location: ../../index.php?kn=5&message=не указано имя');}

if (empty($_POST['email'])) { header ('location: ../../index.php?kn=5&message=не указан Email');}

if (empty($_POST['adres'])) { header ('location: ../../index.php?kn=5&message=не указан адрес');}

if (empty($_POST['tel_gor'])) { header ('location: ../../index.php?kn=5&message=не указан телефон');}

if (empty($_POST['licen'])) { header ('location: ../../index.php?kn=5&message=не указан кем вы являетесь');}

if (empty($_POST['kr'])) { header ('location: ../../index.php?kn=5&message=не указано краткое описание');}

if (empty($_POST['ob'])) { header ('location: ../../index.php?kn=5&message=не указано полное описание');}

if (empty($_POST['pass'])) { header ('location: ../../index.php?kn=5&message=не указано пароль');}

if (empty($_POST['retry_pass'])) { header ('location: ../../index.php?kn=5&message=не указан пароль повторно');}

if (empty($_POST['gorod'])) { header ('location: ../../index.php?kn=5&message=не указан город');}

if (empty($_POST['vid'])) { header ('location: ../../index.php?kn=5&message=не указано направление деятельности');}


//////////////////////////////////////////корекктность почты//////////////////////////////////////////////////
if (!ereg('[0-9a-z_]+@[0-9a-z_^]+\.[a-z]{2,3}', $_POST['email']))
{
header('Location: ../../index.php?kn=5&message=проверте корректность введенного email');
exit;
}

$papka=md5($_POST['email']);
chdir('../../security/upload/');
if (file_exists($papka))
{
header ('location: ../index.php?kn=5&message=пользователь с таким Email существует');
exit;
}

///////////////////////////////////////////////////////////////////////////////////////
if (empty($_POST['tel_mob'])){ $tel_mob="не указан";}
if (empty($_POST['icq'])){ $icq="не указан";}

/////////////////////////////////////////HTML теги удаление///////////////////////////////
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$adres = htmlspecialchars($_POST['adres']);
$tel_gor = htmlspecialchars($_POST['tel_gor']);
$tel_mob = htmlspecialchars($_POST['tel_mob']);
$icq = htmlspecialchars($_POST['icq']);
$kr = htmlspecialchars($_POST['kr']);
$ob = htmlspecialchars($_POST['ob']);
$pass = htmlspecialchars($_POST['pass']);
$retry_pass = htmlspecialchars($_POST['retry_pass']);
$gorod = htmlspecialchars($_POST['gorod']);
$vid = htmlspecialchars($_POST['vid']);
$licen=$_POST['licen'];


$pass=trim($pass);
$retry_pass=trim($retry_pass);
$pass=md5($pass);
$retry_pass=md5($retry_pass);

$data=date('Y,m,d');
//////////////////////////////проверка пароля////////////////////////////////////////
if ($pass!=$retry_pass) { header ('location: ../../index.php?kn=5&message=пароли не совпадают');}

//////////////////контрольный замер////////////////////////
//echo $name.'<br>'.$email.'<br>'.$adres.'<br>'.$tel_gor.'<br>'.$tel_mob.'<br>'.$icq.'<br>'.$kr.'<br>'.$ob.'<br>'.$pass.'<br>'.
//$data.'<br>'.$gorod.'<br>'.$vid.'<br>'.$licen;

///////////////////////////////////////////////////////////


/////////////////////////Подключение к базе данных/////////////////////////////////////////

$db=@mysql_connect('localhost','avtohitk_root','06071982i');
if (!$db)
{
echo'Не удалось подключиться к базе данных';
}
else
{
mysql_select_db('avtohitk_auto');

mysql_query("set character_set_client='cp1251'") or die("Oops");
mysql_query("set character_set_results='cp1251'") or die("Oops");
mysql_query("set collation_connection='cp1251_general_ci'") or die ("Oops");
}

///////////////////////////запросы к базе на регистрацию///////////////////////////////////////
$sql="INSERT INTO `avtohitk_auto`.`user` (`id`,

`name`,`gorod`,`email`,`vid`,`adres`,`tel_gor`,`tel_mob`,`icq`,`licen`,`kr`,`ob`,`pass`,`data_reg`) VALUES

(null,'
$name','$gorod','$email','$vid','$adres','$tel_gor','$tel_mob','$icq','$licen','$kr','$ob','$pass','$data')";

if (mysql_query($sql)) { header ('location: ../../index.php&message=Регистрация завершена');}
else
{ header ("location: ../../index.php?message=регистрация не выполнена");}




Спустя 4 минуты, 43 секунды (29.01.2010 - 10:02) jetistyum написал(а):
if (mysql_query($query) ) {
//...

}
else{
echo mysql_error();
exit;
}

Спустя 2 минуты, 34 секунды (29.01.2010 - 10:05) stepan написал(а):
Извини но я в код не смотрел, вполне возможно буду не прав.
Пробуй вот этот запрос:

$sql="INSERT INTO `avtohitk_auto`.`user` (`id`, 

`name`,`gorod`,`email`,`vid`,`adres`,`tel_gor`,`tel_mob`,`icq`,`licen`,`kr`,`ob`,`pass`,`data_reg`) VALUES

( '', '
$name', '$gorod', '$email', '$vid', '$adres', '$tel_gor', '$tel_mob', '$icq', '$licen', '$kr', '$ob', '$pass', '$data' )";

Спустя 8 минут, 54 секунды (29.01.2010 - 10:14) maxsim1982i написал(а):
INSERT command denied to user 'avtohitk_root'@'localhost' for table 'user'
эта ошибка что нет прав?

Спустя 2 минуты, 58 секунд (29.01.2010 - 10:17) stepan написал(а):
Именно - для данного пользователя запрещена команда INSERT для таблице user

Спустя 1 минута, 21 секунда (29.01.2010 - 10:18) maxsim1982i написал(а):
stepan
спасибо

Спустя 40 минут, 31 секунда (29.01.2010 - 10:59) jetistyum написал(а):
а ты перед работой верно выбрал базу данных?

Спустя 1 минута, 34 секунды (29.01.2010 - 11:00) maxsim1982i написал(а):
Всё спаибо проблема решена тема закрыта

Спустя 33 секунды (29.01.2010 - 11:01) Kuliev написал(а):
maxsim1982i
На форуме уже полтора года, и продолжаешь писать индусский код.

Спустя 1 минута, 24 секунды (29.01.2010 - 11:02) maxsim1982i написал(а):
Kuliev
почему он индусский?

Спустя 3 минуты (29.01.2010 - 11:05) Kuliev написал(а):
Цитата (maxsim1982i @ 29.01.2010 - 13:02)
Kuliev
почему он индусский?

Смотреть здесь.
Только без обид! wink.gif ничего личного.

Спустя 4 минуты, 49 секунд (29.01.2010 - 11:10) maxsim1982i написал(а):
Kuliev
изобрази как ты представляешь этот код, если конечно не затруднит ohmy.gif

Спустя 9 минут, 4 секунды (29.01.2010 - 11:19) Kuliev написал(а):
Цитата (maxsim1982i @ 29.01.2010 - 13:10)
Kuliev
изобрази как ты представляешь этот код, если конечно не затруднит ohmy.gif

Ок, только позже, я ща на обед!

Спустя 2 минуты, 33 секунды (29.01.2010 - 11:22) maxsim1982i написал(а):
Цитата

Ок, только позже, я ща на обед! 

Приятного аппетита. Жду

Спустя 34 минуты, 58 секунд (29.01.2010 - 11:57) Dezigo написал(а):
if (empty($_POST['tel_gor'])) { header ('location: ../../index.php?kn=5&message=не указан телефон');}


по индуски. huh.gif В GET пихать поэму.

Спустя 5 минут, 19 секунд (29.01.2010 - 12:02) maxsim1982i написал(а):
А куда лучше это собщение засунуть

Спустя 30 минут, 24 секунды (29.01.2010 - 12:32) Dezigo написал(а):
мало того что..человек вводит данные,так после этого его его перекидывает при любой одной ошибки.


смотри логика

if (empty($_POST['licen'])) 
{
$error[] = "не указан кем вы являетесь";
}

if (empty($_POST['adres']))
{
$error[] = "не указан адресс";
}

если есть ошибка - то заносишь её в массив.
поже делаешь проверку
если не пустой массив - значит есть ошибка. выводишь её.

print_r($error);
ну конечно же
с foreach -пробегись по ошибке.
но не добовляешь в базу.

Спустя 36 минут, 30 секунд (29.01.2010 - 13:09) Ice написал(а):

$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$adres = htmlspecialchars($_POST['adres']);
$tel_gor = htmlspecialchars($_POST['tel_gor']);
$tel_mob = htmlspecialchars($_POST['tel_mob']);
$icq = htmlspecialchars($_POST['icq']);
$kr = htmlspecialchars($_POST['kr']);
$ob = htmlspecialchars($_POST['ob']);
$pass = htmlspecialchars($_POST['pass']);
$retry_pass = htmlspecialchars($_POST['retry_pass']);
$gorod = htmlspecialchars($_POST['gorod']);
$vid = htmlspecialchars($_POST['vid']);

Индусская часть. Ну, неужели, если, по замыслу автора, эти переменные, все без исключения, должны обрабатываться одинаково, нельзя создать отдельную функцию? Хотя я не храню в базе что-т типа &lt;i&gt;ks, я либо на выводе фильтрую, либо нафиг отсекаю, если мне такие символы не нужны и говорю: "Вводи праильно!" и всё, плевать. Не надо пытаться обработать абсолютно каждую ошибку - не получится.

Спустя 24 минуты, 50 секунд (29.01.2010 - 13:34) Kuliev написал(а):
maxsim1982i

<?php
/*
И так начнем,
Во первых трудночитаемый код, так как не отформатированн должным обрзом
Во вторых имена переменный написаны по индусски
($_POST['tel_gor'], $_POST['gorod'] , $_POST['vid']) и т.д.)

Не правильно организованн вывод ошибок:
1. Можно использовать строку для вывода ошибок
2. Можно использовать массив для вывода ошибок

Как уже было сказанно НЕ НАДО ПИХАТЬ ОШИБКУ В GET МАССИВ и отправлять
пользователя на начало страницы чтобы он заполнял все сначала.
(header ('location: ../../index.php?kn=5&message=не указано имя')wink.gif

*/

if (empty($_POST['name'])) { header ('location: ../../index.php?kn=5&message=не указано имя');}

if (empty($_POST['email'])) { header ('location: ../../index.php?kn=5&message=не указан Email');}

if (empty($_POST['adres'])) { header ('location: ../../index.php?kn=5&message=не указан адрес');}

if (empty($_POST['tel_gor'])) { header ('location: ../../index.php?kn=5&message=не указан телефон');}

if (empty($_POST['licen'])) { header ('location: ../../index.php?kn=5&message=не указан кем вы являетесь');}

if (empty($_POST['kr'])) { header ('location: ../../index.php?kn=5&message=не указано краткое описание');}

if (empty($_POST['ob'])) { header ('location: ../../index.php?kn=5&message=не указано полное описание');}

if (empty($_POST['pass'])) { header ('location: ../../index.php?kn=5&message=не указано пароль');}

if (empty($_POST['retry_pass'])) { header ('location: ../../index.php?kn=5&message=не указан пароль повторно');}

if (empty($_POST['gorod'])) { header ('location: ../../index.php?kn=5&message=не указан город');}

if (empty($_POST['vid'])) { header ('location: ../../index.php?kn=5&message=не указано направление деятельности');}


//////////////////////////////////////////корекктность почты//////////////////////////////////////////////////
if (!ereg('[0-9a-z_]+@[0-9a-z_^]+\.[a-z]{2,3}', $_POST['email']))
{
header('Location: ../../index.php?kn=5&message=проверте корректность введенного email');
exit;
}

/*

Здесь снова присутствует БЫДЛОПЕРЕМЕННАЯ

*/

$papka=md5($_POST['email']);
chdir('../../security/upload/');

/*

Проверку на уже существующий EMAIL можно было проверить и вывести там где ты
утюжишь переменные

*/

if (file_exists($papka))
{
header ('location: ../index.php?kn=5&message=пользователь с таким Email существует');
exit;
}

/*
Это наверное колдовство с БУБНОМ
*/

///////////////////////////////////////////////////////////////////////////////////////
if (empty($_POST['tel_mob'])){ $tel_mob="не указан";}
if (empty($_POST['icq'])){ $icq="не указан";}

/*

Характерная черта ИНДУССКОГО кода
не буду разжевывать тут и так все должно быть понятно, да сам посмотри, сам
наверное думаешь что этот кусок КОДА выглядит не эстетично, и как было уже
сказанно в базу должно попасть то что ввел пользователь в том виде как есть,
а фильтровать надо на выходе!

*/

$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$adres = htmlspecialchars($_POST['adres']);
$tel_gor = htmlspecialchars($_POST['tel_gor']);
$tel_mob = htmlspecialchars($_POST['tel_mob']);
$icq = htmlspecialchars($_POST['icq']);
$kr = htmlspecialchars($_POST['kr']);
$ob = htmlspecialchars($_POST['ob']);
$pass = htmlspecialchars($_POST['pass']);
$retry_pass = htmlspecialchars($_POST['retry_pass']);
$gorod = htmlspecialchars($_POST['gorod']);
$vid = htmlspecialchars($_POST['vid']);
$licen=$_POST['licen'];


$pass=trim($pass);
$retry_pass=trim($retry_pass);
$pass=md5($pass);
$retry_pass=md5($retry_pass);

$data=date('Y,m,d');
//////////////////////////////проверка пароля////////////////////////////////////////
if ($pass!=$retry_pass) { header ('location: ../../index.php?kn=5&message=пароли не совпадают');}

//////////////////контрольный замер////////////////////////
//echo $name.'<br>'.$email.'<br>'.$adres.'<br>
//'.$tel_gor.'<br>'.$tel_mob.'<br>'.$icq.'<br>'.$kr.'<br>'.$ob.'<br>'.$pass.'<br>'.
//$data.'<br>'.$gorod.'<br>'.$vid.'<br>'.$licen;

///////////////////////////////////////////////////////////


/*
Про это промолчу, почитай уроки Твина, посмотри как там дятька делает коннект
к БД, какую кодировку выбирать и почему! (Очень советую прочесть)

*/

$db=@mysql_connect('localhost','avtohitk_root','06071982i');
if (!$db)
{
echo'Не удалось подключиться к базе данных';
}
else
{
mysql_select_db('avtohitk_auto');

mysql_query("set character_set_client='cp1251'") or die("Oops");
mysql_query("set character_set_results='cp1251'") or die("Oops");
mysql_query("set collation_connection='cp1251_general_ci'") or die ("Oops");
}

/*

Нет защиты от SQL ИНЪЕКЦИИ

*/

$sql="INSERT INTO `avtohitk_auto`.`user` (`id`,

`name`,`gorod`,`email`,`vid`,`adres`,`tel_gor`,`tel_mob`,`icq`,`licen`,`kr`,`ob`,`pass`,`data_reg`) VALUES

(null,'
$name','$gorod','$email','$vid','$adres','$tel_gor','$tel_mob','$icq','$licen','$kr','$ob','$pass','$data')";

if (mysql_query($sql)) { header ('location: ../../index.php&message=Регистрация завершена');}
else
{ header ("location: ../../index.php?message=регистрация не выполнена");}

/*
P.S. Как я уже тебе говарил, ничего лично, просто бросился твой код в глаза
который обычна постят новички, а ты уже полтора года здесь и не научился
код форматировать... Задумайся и давай исправляйся... У тебя все получиться!

*/


?>



_____________
Быстрый ответ:

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