Создание регистрации и управления пользователями на сайте с помощью PHP + PostgreSQL

Мария

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

craz

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

Мария

Новичок
Народ подскажите а как сделать проверку логина на вводимые символы и длину
 

Мария

Новичок
Народ подскажите пожалуйста в чем у меня ошибка не могу занести данные в базу
PHP:
$logi == iconv("Windows-1251", "UTF-8", $_POST['login']);
	$pass = md5($_POST['pas']);
	$mail == iconv("Windows-1251", "UTF-8", $_POST['mail']);
	$nam == iconv("Windows-1251", "UTF-8", $_POST['nam']);
	$part == iconv("Windows-1251", "UTF-8", $_POST['patr']);
	$surn == iconv("Windows-1251", "UTF-8", $_POST['surn']);
	$pol == iconv("Windows-1251", "UTF-8", $_POST['pol']);
    $_POST['dataR1'] = $_POST['dd']."-".$_POST['mm']."-".$_POST['yyyy'];
	$datar == iconv("Windows-1251", "UTF-8", $_POST['dataR1']);
	$conn_string = "host=localhost port=5432 dbname=dip user=postgres password=postgres";
	$link = pg_connect ($conn_string) or die("Не может подключиться : " . pg_error());
	$query = "INSERT INTO `users` (`logi` , `pass` , `mail` , `nam` , `part` , `surn` , `pol` , `datar` )
		VALUES (
		 '.$logi.', '.$pass.', '.$mail.', '.$nam.', '.$part.', '.$surn.', '.$pol.', '.$dataR.');";
	$result = pg_query($query) or die ("Query failed : " . pg_error());
		pg_close($link);
у меня сайт в кодировке 1251 вот и приходиться делать перекодировку
 

craz

Нестандартное звание
$_POST['dataR1'] = $_POST['dd']."-".$_POST['mm']."-".$_POST['yyyy']; - так не бывает/так не правильно

'.$logi.', '.$pass.', '.$mail.', '.$nam.', '.$part.', '.$surn.', '.$pol.', '.$dataR.');"; / за регистром переменных надо обязательно следить
 

Мария

Новичок
у меня ошибку выдает что при записи инсерт команда что то не проходит как ее правильно выполнить?
 

Мария

Новичок
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "`" LINE 1: INSERT INTO `users` (`logi` , `pass` , `mail` , `nam` , `par... ^ in Z:\home\diplom.ru\www\reg.php on line 187

Fatal error: Call to undefined function pg_error() in Z:\home\diplom.ru\www\reg.php on line 187
Вот код ошибки
 

Мария

Новичок
Ну там же есть и конект и квери а в чем тут моя ошибка ни как не могу понять
 

craz

Нестандартное звание
Fatal error: Call to undefined function pg_error() in Z:\home\diplom.ru\www\reg.php on line 187
pg_error() - этого там нет, эт 1)

Query failed: ERROR: syntax error at or near "`" LINE 1: INSERT INTO `users` (`logi` , `pass` , `mail` , `nam` , `par... ^
тут ошибка в sql создайте строку запроса $sql = {что там у вас в query} выведете в браузер скопируйте и вставьте в ваш администратор базы, чем там вы пользуетесь если выведет ошибку убирайте кавычки ибо
эт 2)
 

Мария

Новичок
а ошибку уберу, вот со вторым чет не догоню создам переменную присвою ей это значение из квери а как вставить в таблицу
 

craz

Нестандартное звание
потом в редактор базы данных и дебажите ваш запрос скорее всего у вас проблема с со скобками " ` " поменяйте их на " ' "
 

craz

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

Мария

Новичок
вообщем вот так написала
extract($_POST, EXTR_PREFIX_SAME, "p");
$logi == iconv("Windows-1251", "UTF-8", $_POST['login']);
$pass = md5($_POST['pas']);
$mail == iconv("Windows-1251", "UTF-8", $_POST['mail']);
$nam == iconv("Windows-1251", "UTF-8", $_POST['nam']);
$part == iconv("Windows-1251", "UTF-8", $_POST['patr']);
$surn == iconv("Windows-1251", "UTF-8", $_POST['surn']);
$pol == iconv("Windows-1251", "UTF-8", $_POST['pol']);
$_POST['dataR1']=$_POST['dd']."-".$_POST['mm']."-".$_POST['yyyy'];
$datar == iconv("Windows-1251", "UTF-8", $_POST['dataR1']);
$conn_string = "host=localhost port=5432 dbname=dip user=postgres password=postgres";
$link = pg_connect ($conn_string) or die "Не может подключиться : " ;
$sql = "INSERT INTO 'users' ('logi' , 'pass' , 'mail' , 'nam' , 'part' , 'surn' , 'pol' , 'datar' )
VALUES (
'.$logi.', '.$pass.', '.$mail.', '.$nam.', '.$part.', '.$surn.', '.$pol.', '.$dataR.');";
$result = pg_query($sql) or die "Query failed : " ;
pg_close($link);
так он мне ошбку пишет
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\diplom.ru\www\reg.php on line 184
 

Мария

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

craz

Нестандартное звание
вообщем вот так написала
extract($_POST, EXTR_PREFIX_SAME, "p");
$logi == iconv("Windows-1251", "UTF-8", $_POST['login']);
$pass = md5($_POST['pas']);
$mail == iconv("Windows-1251", "UTF-8", $_POST['mail']);
$nam == iconv("Windows-1251", "UTF-8", $_POST['nam']);
$part == iconv("Windows-1251", "UTF-8", $_POST['patr']);
$surn == iconv("Windows-1251", "UTF-8", $_POST['surn']);
$pol == iconv("Windows-1251", "UTF-8", $_POST['pol']);
$_POST['dataR1']=$_POST['dd']."-".$_POST['mm']."-".$_POST['yyyy'];
$datar == iconv("Windows-1251", "UTF-8", $_POST['dataR1']);
$conn_string = "host=localhost port=5432 dbname=dip user=postgres password=postgres";
$link = pg_connect ($conn_string) or die "Не может подключиться : " ;
$sql = "INSERT INTO 'users' ('logi' , 'pass' , 'mail' , 'nam' , 'part' , 'surn' , 'pol' , 'datar' )
VALUES (
'.$logi.', '.$pass.', '.$mail.', '.$nam.', '.$part.', '.$surn.', '.$pol.', '.$dataR.');";
$result = pg_query($sql) or die "Query failed : " ;
pg_close($link);
так он мне ошбку пишет
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\diplom.ru\www\reg.php on line 184
эт че ваще????
== и = разницу скажите пожалуйста?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Народ подскажите пожалуйста в чем у меня ошибка не могу занести данные в базу
PHP:
$logi == iconv("Windows-1251", "UTF-8", $_POST['login']);
...	
	$query = "INSERT INTO `users` (`logi` , `pass` , `mail` , `nam` , `part` , `surn` , `pol` , `datar` )
		VALUES (
		 '.$logi.', '.$pass.', '.$mail.', '.$nam.', '.$part.', '.$surn.', '.$pol.', '.$dataR.');";
у меня сайт в кодировке 1251 вот и приходиться делать перекодировку
а) Перекодировку можно делать на стороне базы pg_query("set client_encoding = 'windows-1251'");
бэ) в поцгресе не используются кавычки `` (они вообще нигде кроме мыскля не используются), имена полей надо либо не брать в кавычки вообще, либо брать в двойные кавычки ""
 
  • Like
Реакции: craz
Сверху