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

Форум PHP

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

 

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

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

тема: Регистрация пользователя!
 
 автор: Sywooch   (15.04.2006 в 19:19)   письмо автору
 
 

Задумал сделать регистрацию на сайте.
Для того, чтоб скрывать от неавторизованных пользователей определенные разделы!
А опыта "0"
ПАМАЖИТЕ ХТО МАГЁТ!!!

   
 
 автор: Лёлик   (15.04.2006 в 19:38)   письмо автору
 
   для: Sywooch   (15.04.2006 в 19:19)
 

почитайте

http://www.softtime.ru/forum/srchform.php?id_forum=1&name=%F0%E5%E3%E5%F1%F2%F0%E0%F6%E8%FF+%EF%EE%E

   
 
 автор: Sywooch   (15.04.2006 в 20:32)   письмо автору
 
   для: Лёлик   (15.04.2006 в 19:38)
 

К сожалению, по Вашему запросу ничего не найдено. Попробуйте изменить условия поиска.

   
 
 автор: cheops   (15.04.2006 в 23:07)   письмо автору
 
   для: Sywooch   (15.04.2006 в 19:19)
 

Если не сложно посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8481.

   
 
 автор: Sywooch   (16.04.2006 в 03:22)   письмо автору
 
   для: cheops   (15.04.2006 в 23:07)
 

К сожалению :(((
Я базу использую. Но все равно спасибо, ход мысли я вроди понял.

   
 
 автор: babilonian   (16.04.2006 в 03:41)   письмо автору
 
   для: Sywooch   (16.04.2006 в 03:22)
 

Так что там сложного-то? Прошиваются все страници сессиями и каждый пользователь имеет свой личный кабинет.

   
 
 автор: Sywooch   (16.04.2006 в 03:44)   письмо автору
 
   для: babilonian   (16.04.2006 в 03:41)
 

А как насчет примера?

   
 
 автор: babilonian   (16.04.2006 в 03:50)   письмо автору
 
   для: Sywooch   (16.04.2006 в 03:44)
 

Ой, ну тут столько всего по этому поводу написано....

   
 
 автор: Sywooch   (16.04.2006 в 03:51)   письмо автору
 
   для: babilonian   (16.04.2006 в 03:50)
 

Не нашел.
По крайней мере толкового!
Знаете подскажите ссылку...

   
 
 автор: technic611   (16.04.2006 в 05:15)   письмо автору
 
   для: 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"$nametime() + 3600*24*2$path);
 
setcookie("password"$pswrdtime() + 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>"
;
  }
}
?>




   
 
 автор: ZetRider   (16.04.2006 в 07:22)   письмо автору
 
   для: technic611   (16.04.2006 в 05:15)
 

Ураа! то что нужно..

   
 
 автор: technic611   (16.04.2006 в 16:02)   письмо автору
 
   для: Sywooch   (16.04.2006 в 03:51)
 

Тот пример был по авторизации, а теперь регистрация

<form onsubmit="return (CheckEmpty(this.fio, 'Ф.И.О') &amp;&amp; CheckEmpty(this.tel, 'Контактный телефон') &amp;&amp; CheckEmpty(this.name, 'Ник') &amp;&amp; CheckEmpty(this.pswrd, 'Пароль') &amp;&amp; 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">&nbsp;<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">&nbsp;<a class="text">Контактный телефон: </td>
                <td   width="326" height="26">
                <input  size="24" name="tel" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana" >&nbsp;<a class="text">(XXXX)XX-XX-XX</td>
            </tr>

<tr>
                <td   width="211" height="27">&nbsp;<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">&nbsp;<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">&nbsp;<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">&nbsp;<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 links("Ошибка! Пароль должен быть больше 5 символов");
if(empty(
$pswrd) || empty($pswrd_again) || $pswrd != $pswrd_againlinks("Ошибка! Введенные пароли не совпадают");

$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>"
;
  }
?>
 

   
 
 автор: cheops   (16.04.2006 в 13:51)   письмо автору
 
   для: 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.

   
Rambler's Top100
вверх

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