|
|
|
| Задумал сделать регистрацию на сайте.
Для того, чтоб скрывать от неавторизованных пользователей определенные разделы!
А опыта "0"
ПАМАЖИТЕ ХТО МАГЁТ!!! | |
|
|
|
|
|
|
|
|
для: Лёлик
(15.04.2006 в 19:38)
| | К сожалению, по Вашему запросу ничего не найдено. Попробуйте изменить условия поиска. | |
|
|
|
|
|
|
|
|
для: cheops
(15.04.2006 в 23:07)
| | К сожалению :(((
Я базу использую. Но все равно спасибо, ход мысли я вроди понял. | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:22)
| | Так что там сложного-то? Прошиваются все страници сессиями и каждый пользователь имеет свой личный кабинет. | |
|
|
|
|
|
|
|
для: babilonian
(16.04.2006 в 03:41)
| | А как насчет примера? | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:44)
| | Ой, ну тут столько всего по этому поводу написано.... | |
|
|
|
|
|
|
|
для: babilonian
(16.04.2006 в 03:50)
| | Не нашел.
По крайней мере толкового!
Знаете подскажите ссылку... | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:51)
| |
<div align="center">
<form name="mainform" method="post" action="../enter.php">
<table height="160" cellPadding="0" width="509" border="0" style="border: 1px solid #6699FF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">
<tr>
<td width="505" colSpan="2" height="59">
<p align="center"><b><font face="Tahoma" size="2">Вы зарегистрированы<br> Можете войти в панель управления</font></b></td>
</tr>
<tr>
<td class="stext" width="162" height="29">Ваше имя: </td>
<td class="stext" width="341" height="29">
<input class="sinput" size="12" name="name" style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana" ></td>
</tr>
<tr>
<td class="stext" width="162" height="29">Ваш пароль:</td>
<td class="stext" width="341" height="29">
<input class="sinput" style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana" type="password" maxLength="8" size="12" value name="pswrd"></td>
</tr>
<tr>
<td width="505" colSpan="2" height="32">
<p align="center">
<input class="sinput" type="submit" value="Вход" name="ok" ></td>
</tr>
</table>
</form>
</div>
|
файл обработчик
<?php
include "база";
if(!$_POST['name']) error("Нет доступа<br>Вы не прошли авторизацию");
if(!$_POST['pswrd']) error("Нет доступа<br>Вы не прошли авторизацию");
$name = $_POST['name'];
$pswrd = $_POST['pswrd'];
$user="name";
$query = "SELECT * FROM $user
WHERE name = '$name'";
$ath = mysql_query($query);
if($ath)
{
$auth = mysql_fetch_array($ath);
if (mysql_num_rows($ath)== 0)
{
include "technic/config_2.php";
$user="firma";
$query = "SELECT * FROM $user
WHERE name = '$name'";
$ath = mysql_query($query);
if($ath)
{
$auth = mysql_fetch_array($ath);
}
}
if($auth['pswrd'] != $pswrd)
{
error("Вы ввели неверное имя или пароль, попробуйте ещё раз");
}
else
{
Заносим все в куки
$tmppos = strrpos($_SERVER['PHP_SELF'],"/") + 1;
$path = substr($_SERVER['PHP_SELF'], 0, $tmppos);
setcookie("name", $name, time() + 3600*24*2, $path);
setcookie("password", $pswrd, time() + 3600*24*2, $path);
setcookie("id", $auth['id_name'], time() + 3600*24*2, $path);
Сдесь просто для двух типова пользователей
поэтому разобраться, не сложно, уберешь, оставившь одного
делаем переход куда надо
if($user=="name")
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=panel_n/add.php?'>
</HEAD></HTML>";
}else echo"<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=panel_f/panel.php'>
</HEAD></HTML>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: technic611
(16.04.2006 в 05:15)
| | Ураа! то что нужно.. | |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:51)
| | Тот пример был по авторизации, а теперь регистрация
<form onsubmit="return (CheckEmpty(this.fio, 'Ф.И.О') && CheckEmpty(this.tel, 'Контактный телефон') && CheckEmpty(this.name, 'Ник') && CheckEmpty(this.pswrd, 'Пароль') && CheckEmpty(this.pswrd_again, 'Повтор пароля'))"
name="mainform" method="post" action="register_st.php">
<table height="238" cellPadding="3" width="550" border="0" cellspacing="0" >
<tr>
<td width="211" height="26"> <a class="text">Ф.И.О.: </td>
<td width="326" height="26">
<input size="38" name="fio" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" ></td>
</tr><tr>
<tr>
<td width="211" height="26"> <a class="text">Контактный телефон: </td>
<td width="326" height="26">
<input size="24" name="tel" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" > <a class="text">(XXXX)XX-XX-XX</td>
</tr>
<tr>
<td width="211" height="27"> <a class="text">Ваш е-mail:</td>
<td width="326" height="27">
<input style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" type="text" maxLength="50" size="24" value name="email"></td>
</tr>
<tr>
<td width="211" height="26"> <a class="text">Ваше ник: </td>
<td width="326" height="26">
<input size="12" name="name" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" ></td>
</tr>
<tr>
<td width="211" height="26"> <a class="text">Ваш пароль:</td>
<td width="326" height="26">
<input style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" type="password" maxLength="8" size="12" value name="pswrd"> </td>
</tr>
<tr>
<td width="211" height="27"> <a class="text">Повтор пароль:</td>
<td width="326" height="27">
<input style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" type="password" maxLength="8" size="12" value name="pswrd_again"></td>
</tr>
<tr><td width="543" height="55" colspan="2"><a class="stext">
Для того чтобы войти в панель управления вам
необходимо зарегистрироваться. Регистрация бесплатна. Все поля
обязательны для заполнения</td>
</tr>
<tr>
<td width="543" colSpan="2" height="30" align="center">
<input type="submit" class=sinput value="Регистрация" name="ok" ></td>
</tr>
</table>
</form>
|
файл обработчик
<?php
стираем куки
setcookie("name");
setcookie("password");
setcookie("id");
function links($msg)
{
echo "<div align='center'>
<table height='82' cellPadding='0' width='509' cellspacing='0'><tr><td width='505' height='76'><p align='center'><b><font face='Tahoma' size='2' color='#FF0000'>$msg</font></b></td></tr></table></div>";
exit();
}
include "technic/config.php";
$fio= mhtml(trim($_POST['fio']));
$tel= mhtml(trim($_POST['tel']));
$email = mhtml(trim($_POST['email']));
$name= mhtml(trim($_POST['name']));
$pswrd = $_POST['pswrd'];
$pswrd_again = $_POST['pswrd_again'];
if(empty($fio)) links("Ошибка! Не указаны ФИО");
if(empty($tel)) links("Ошибка! Не указан контактный телефон");
if(empty($email))
{
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
links("Ошибка! Введите e-mail в виде <i>something@server.com</i>");
}
if(empty($name)) links("Ошибка! Не указан ник");
$str_len = strlen($pswrd);
if ($str_len < 5 ) links("Ошибка! Пароль должен быть больше 5 символов");
if(empty($pswrd) || empty($pswrd_again) || $pswrd != $pswrd_again) links("Ошибка! Введенные пароли не совпадают");
$rus = array("А","а","В","Е","е","К","М","Н","О","о","Р","р","С","с","Т","Х","х");
$eng = array("A","a","B","E","e","K","M","H","O","o","P","p","C","c","T","X","x");
$eng_author = str_replace($rus, $eng, $name);
$rus_author = str_replace($eng, $rus, $name);
$query = "SELECT * FROM name
WHERE name LIKE '$name' OR
name LIKE '$eng_author' OR
name LIKE '$rus_author'";
$ath = mysql_query($query);
if($ath)
{
if(mysql_num_rows($ath)>0)
links("К сожалению, данное имя уже зарегистрировано. Попробуйте другое.");
} else links("Ошибка при регистрации нового посетителя");
$query = "INSERT INTO таблица VALUES (NULL,
'$fio',
'$name',
'$pswrd',
'$tel',
'$email',
NOW())";
if(mysql_query($query))
{
include "mail/reg.php";
include "mail/new_user.php";
направляем пользователя в личный кабинет (потом нужна авторизация пример выше)
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=panel_n/add.php'>
</HEAD></HTML>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Sywooch
(16.04.2006 в 03:44)
| | По регистрации примеров действительно малова-то, но зато имеется много примеров по авторизации, возможно вам будет также интересна тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=80 и небольшое Web-приложение http://www.softtime.ru/info/authorization.php. | |
|
|
|