| |
|
|
| | Здравствуйте уважаемое сообщество. Ни подскажете как создать модуль регистрации пользователей. Хотелось сделать так. Пользователь заполняет регистрационную форму. (ФИО, тел, пол, email, логин, пароль, подтверждение пароля), нажимает кнопку зарегистрировать, после должна осуществлятся проверка введённых в форму полей на правильность (при помощи регулярных выражений). Если данные в форму введены правильно, то осуществляется запись введённых даных в БД. Саму форму регистрации я визуально соддал. Проблема у меня с проверкой введённых полей, и последующей записью данных в БД. | |
| |
|
|
| |
|
|
| |
для: pautina
(16.04.2008 в 09:43)
| | | Давайте то что сделали и показывайте где ошибки.. | |
| |
|
|
| |
|
|
| |
для: 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>";}
}
Почему то этот участок кода работает не так как хотелось бы. При вводе имени независимо правильно оно было введено или нет. Результат вывода такой "Имя введено верно" | |
| |
|
|
| |
|
|
| |
для: 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)
);
|
| |
| |
|
|
| |
|
|
| |
для: 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);] | |
| |
|
|
| |
|
|
| |
для: 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
После освоения данных книг, Вы будете многое знать и уметь. | |
| |
|
|
| |
|
|
| |
для: 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 была проверка на содержание цифр. | |
| |
|
|