Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: модуль регистрации пользователей
 
 автор: pautina   (16.04.2008 в 09:43)   письмо автору
 
 

Здравствуйте уважаемое сообщество. Ни подскажете как создать модуль регистрации пользователей. Хотелось сделать так. Пользователь заполняет регистрационную форму. (ФИО, тел, пол, email, логин, пароль, подтверждение пароля), нажимает кнопку зарегистрировать, после должна осуществлятся проверка введённых в форму полей на правильность (при помощи регулярных выражений). Если данные в форму введены правильно, то осуществляется запись введённых даных в БД. Саму форму регистрации я визуально соддал. Проблема у меня с проверкой введённых полей, и последующей записью данных в БД.

   
 
 автор: Antohins   (16.04.2008 в 10:12)   письмо автору
 
   для: pautina   (16.04.2008 в 09:43)
 

Давайте то что сделали и показывайте где ошибки..

   
 
 автор: pautina   (16.04.2008 в 11:26)   письмо автору
 
   для: Antohins   (16.04.2008 в 10:12)
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<style type="text/css">
#content {left:0px; top:0px; width:100%; height:100px; position:absolute; background-color:#97fc2a}
#content-reg { left:10%; top:105px; right:10%; width:80%; height:400px; background-color:#CCCCCC; font-size:13px; font-family:Tahoma; position:absolute}
</style>
</head>

<body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<div id="content">
<img src="image/content.jpg" width="1024" height="100">
</div>
<div id="content-reg" align="center">
<h5>При заполнении формы возникли ошибки</h5>
<?php
/*
if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
}
if (isset ($famname))
{
$famname = substr($famname,0,20); //Не может быть более 20 символов
}
if (isset ($otchname))
{
$otchname = substr($otchname,0,20); //Не может быть более 20 символов
}
if (isset ($tel))
{
$tel = substr($tel,0,20); //Не может быть более 20 символов
}
if (isset ($polm))
{
$polm = substr($polm,0,20); //Не может быть более 20 символов
}
if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
}
if (isset ($login))
{
$login = substr($login,0,20); //Не может быть более 20 символов
}
if (isset ($parol))
{
$parol = substr($parol,0,20); //Не может быть более 20 символов
}
if (isset ($podparol))
{
$podparol = substr($podparol,0,20); //Не может быть более 20 символов
}
*/
$pus_str="";
if (($name==$pus_str) and ($famname==$pus_str) and ($otchname==$pus_str) and ($tel==$pus_str) and ($email==$pus_str) and ($login==$pus_str) and ($parol==$pus_str) and ($podparol==$pus_str))
{
echo "Ни заполнено ни одно поле формы <br> Вернитесь назад и правильно заполните поля формы регистрации <br>";
}

if (($name!=$pus_str) and ($famname==$pus_str) and ($otchname==$pus_str) and ($tel==$pus_str) and ($email==$pus_str) and ($login==$pus_str) and ($parol==$pus_str) and ($podparol==$pus_str))
{
/*
$n="[а-яА-Я]";
$n2="[а-яА-Я1-9~`!@#$%^&*()_-+=/|\<>,'№:;[]{}?.a-zA-Z]";
$n1="[1-9]";
$n2="[~`!@#$%^&*()_-+=/|\<>,'№:;[]{}?.]";
$n3="[a-zA-Z]"; */
if ($name="[а-яА-Я]")
{ echo "Имя введено верно <br>";}
else if ($name!="[а-яА-Я]")
{ echo "Имя содержит недопустимые символы <br>";}
}

?>
</div>
</body>
</html>
При нажатии на кнопку регистрации запускается этот скрипт. Проблема такая. В форме есть поле name (имя пользователя, это поле должно состоять из символов русского алфавита)
if ($name="[а-яА-Я]")
{ echo "Имя введено верно <br>";}
else if ($name!="[а-яА-Я]")
{ echo "Имя содержит недопустимые символы <br>";}
}
Почему то этот участок кода работает не так как хотелось бы. При вводе имени независимо правильно оно было введено или нет. Результат вывода такой "Имя введено верно"

   
 
 автор: webwizard   (16.04.2008 в 11:40)   письмо автору
 
   для: pautina   (16.04.2008 в 11:26)
 

Вот для примера я создал Вам файл посмотрите (прикрепил к сообщению).

Файл назовите test1.php

Для записи данных в базу, необходимо создать вот такой дамп:

CREATE TABLE partner
(
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
login TINYTEXT NOT NULL,
email TINYTEXT NOT NULL,
password TINYTEXT NOT NULL,
PRIMARY KEY (id_user)
); 

   
 
 автор: pautina   (16.04.2008 в 12:17)   письмо автору
 
   для: webwizard   (16.04.2008 в 11:40)
 

При запуске файла test1.php Выдается сообщение об ошибке в строках 164, 172, 179, 187. (Notice: Undefined index: login in T:\home\localhost\reg-pol\test1.php on line 164).
164 строка выглядит так [ value = '".$_POST['login']."' class = 'edit'><br>]
Вы не скажете что значит создать дамп? При регистрации пользователя выдалась ошибка в 129 стр. [ $temp = mysql_query($save);]

   
 
 автор: webwizard   (16.04.2008 в 12:31)   письмо автору
 
   для: pautina   (16.04.2008 в 12:17)
 

Данные ошибки возникают скорее всего из-за неправильной настройки Вашего локального сервера, у Вас наверное значение переменной в файле php.ini стоит такое:

register_globals=on измените на off.

Что касается дампа базы данных, то для этого Вам нужно установить на машине сервер MySQL и через командную строчку (консольный режим) создавать таблицу данных (дамп) либо установить phpMyAdmin и уже работать с более удобным графическим представлением.

Если Вы не имеете представления о MySQL, то очень Вам советую купить несколько книг авторов данного сайта:

1) PHP 5 на примерах (М. Кузнецов, И. Симдянов, С. Голышев)
2) PHP 5 приктика создания web - сайтов (М. Кузнецов, И. Симдянов, С. Голышев)
3) MySQL на примерах (М. Кузнецов, И. Симдянов)


Можно купить в интернет-магазине ozon.ru или bolero.ru

После освоения данных книг, Вы будете многое знать и уметь.

   
 
 автор: pautina   (16.04.2008 в 14:08)   письмо автору
 
   для: webwizard   (16.04.2008 в 12:31)
 

У меня на компьютере стоит topserver2.1 (включает сервер апач, php, mysql, perl, phpmyadmin).
В файле php.ini атрибут я изменил, topserver перезапустил, ошибки в строках не исчезли.
По поводу книг, пока нет возможности их купить.
Код довольно грамотно написан. Ни всё понятно.
Вы ни подскажете где ошибка в этом участке кода
if (ereg("[а-яА-Я]",$name,$regs))
{ echo "Имя введено верно <br>";}
else
{ echo "Имя содержит недопустимые символы <br>";}
}
поле name проверяется функцией ereg, если вводятся цифры или английские буквы алфавита то выводится сообщение "Имя содержит недопустимые символы". Если поле вводится русскими буквами то "Имя введено правильно". Если же ввести в поле имя например олег234, ваня33333, или т123 то выводится сообщение "Имя введено правильно". Почему ни могу понять. Ни поможете с этим учаском кода. Хотелось бы добится чтобы в имени name была проверка на содержание цифр.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования