Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PhP Mysql где мойно рассмотрет пример user-admin registration and getting password by email
Форумы портала PHP.SU » PHP » Программирование на PHP » PhP Mysql где мойно рассмотрет пример user-admin registration and getting password by email

Страниц (1): [1]
 

1. Lola - 02 Июля, 2007 - 17:55:21 - перейти к сообщению
Posovetujjte documentation ili shto-nibud PODSKAJITE DOROGU

ZADACHA: nujno delat registraciju polsovateley cherez ich e-meil vydavat password i login i otpravlyat k sebe cherez link ponyatiya ne imeyu kak eto delat.


P.S. A mne v ochen korotkie sroki nujno sdelat posovetujte pojalujsta
zaranee spasibo.
2. evgenijj - 02 Июля, 2007 - 19:13:12 - перейти к сообщению
Для начала создаем в БД таблицу, где будем хранить информацию о пользователях

CREATE TABLE `site_users` (
`id_user` smallint(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL default 'newuser',
`email` varchar(32) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`name` varchar(32) NOT NULL default '',
`surname` varchar(32) NOT NULL default '',
`phone` varchar(32) NOT NULL default '',
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM CHARSET=cp1251;


Потом сделать форму для регистрации пользователя

PHP:
скопировать код в буфер обмена
  1.  
  2. <h3>Регистрация</h3>
  3.  
  4. <form action="reguser.php" name="registration" method="POST">
  5.  
  6. <table width="100%">
  7. <tr>
  8.         <td align="right" width="25%">Имя пользователя (логин)<span style="color:red">*</span>:</td>
  9.         <td><input type="text" name="username" size="30" maxlength="30" value=""></td>
  10. </tr>
  11. <tr>
  12.         <td align="right" width="25%">Имя<span style="color:red">*</span>:</td>
  13.         <td><input type="text" name="name" size="30" maxlength="30" value=""></td>
  14. </tr>
  15. <tr>
  16.         <td align="right" width="25%">Фамилия<span style="color:red">*</span>:</td>
  17.         <td><input type="text" name="surname" size="30" maxlength="30" value=""></td>
  18. </tr>
  19. <tr>
  20.         <td align="right" width="25%">E-mail<span style="color:red">*</span>:</td>
  21.         <td><input type="text" name="email" size="30" maxlength="30" value=""></td>
  22. </tr>
  23. <tr>
  24.         <td align="right" width="25%">Пароль<span style="color:red">*</span>:</td>
  25.         <td><input type="password" name="password" size="30" maxlength="30" value=""></td>
  26. </tr>
  27. <tr>
  28.         <td align="right" width="25%">Подтвердите&nbsp;пароль<span style="color:red">*</span>:</td>
  29.         <td><input type="password" name="confirm" size="30" maxlength="30" value=""></td>
  30. </tr>
  31. <tr>
  32.         <td align="right" width="25%">Телефон:</td>
  33.         <td><input type="text" name="phone" size="30" maxlength="30" value=""></td>
  34. </tr>
  35. <tr>
  36.         <td width="25%">&nbsp;</td>
  37.         <td><input type="submit" value="Регистрация"></td>
  38. </tr>
  39. </table>
  40.  
  41. </form>
  42.  

Ну и дальше пишем обработчик формы, где мы будем проверять правильность заполнения полей, заносить информацию о пользователе в БД и посылать уведомление администратору сайта на e-mail.
PHP:
скопировать код в буфер обмена
  1.  
  2.  <?PHP
  3.  ..........................................................
  4.  // Обрезаем переменные до длины, указанной в параметре maxlength тега input
  5.  $name         = substr( $_POST["name"], 0, 30 );
  6.  $surname      = substr( $_POST["surname"], 0, 30 );
  7.  $email        = substr( $_POST["email"], 0, 30 );
  8.  $post         = substr( $_POST["post"], 0, 60 );
  9.  $password     = substr( $_POST["password"], 0, 30 );
  10.  $confirm      = substr( $_POST["confirm"], 0, 30 );
  11.  $country      = substr( $_POST["country"], 0, 30 );
  12.  $phone        = substr( $_POST["phone"], 0, 30 );
  13.  ..........................................................
  14.  // Проверяем, заполнены ли обязательные поля
  15.  if( empty($name) or empty($surname) or empty($email) or empty($password) or empty($confirm) )
  16.  {
  17.  ..........................................................
  18.  }
  19.  // Проверяем корректность e-mail
  20.  if ( !preg_match( "|^[0-9a-z_-.]+@[0-9a-z-.]+.[a-z]{2,6}$|i" , $email ) )
  21.  {
  22.  ..........................................................
  23.  }
  24.  ..........................................................
  25.  // Проверяем, а нет ли в БД записи о пользователе с таким e-mail
  26.  $query = "SELECT id_user FROM `site_users` WHERE email='".$email."'";
  27.  $res = db_query( $query );
  28.  // Выдаем сообщение об ошибке
  29.  if ( db_num_rows( $res ) > 0 )
  30.  {
  31.  echo "<p style='color:red'>Пользователь с e-mail <strong>".$email."</strong> уже зарегистрирован в системе!</p>";
  32.  }
  33.  ...........................................................
  34.  // Добавляем запись в таблицу БД
  35.  $query = "INSERT INTO `site_users`
  36.                   (
  37.                   username,
  38.                   name,
  39.                   surname,
  40.                   email,
  41.                   password,
  42.                   phone
  43.                   )
  44.                   VALUES
  45.                   (
  46.                   '".db_escape_string( $username )."',
  47.                   '".db_escape_string( $name )."',
  48.                   '".db_escape_string( $surname )."',
  49.                   '".db_escape_string( $email )."',
  50.                   '".db_escape_string( $password )."',
  51.                   '".db_escape_string( $phone )."'
  52.                   );";
  53.  
  54.  db_query( $query );
  55.  ..........................................................
  56.  // Уведомление о регистрации нового пользователя - для администратора и нового пользователя
  57.  $message = "<h3>Регистрация на сайте ".SITE_URL."</h3>";
  58.  $message = $message."<table>";
  59.  $message = $message."<tr><td align='right'>Имя: </td><td>".$name."</td></tr>";
  60.  $message = $message."<tr><td align='right'>Фамилия: </td><td>".$surname."</td></tr>";
  61.  $message = $message."<tr><td align='right'>E-mail: </td><td>".$email."</td></tr>";
  62.  $message = $message."<tr><td align='right'>Телефон: </td><td>".$phone."</td></tr>";
  63.  $message = $message."</table>";
  64.  
  65.  // Посылаем уведомление новому пользователю
  66.  $headers = "From: ".SITE_URL." <".ADMIN_EMAIL.">\\n";
  67.  $headers = $headers."Content-type: text/html; charset=\\"windows-1251\\"\\n";
  68.  $headers = $headers."Return-path: <".ADMIN_EMAIL.">n";
  69.  mail( $email, "Регистрация на сайте ".SITE_URL, $message, $headers );
  70.  
  71.  // Посылаем уведомление администратору
  72.  mail( ADMIN_EMAIL, "Регистрация нового пользователя на сайте ".SITE_URL, $message, $headers );
  73.  
  74.  echo "<p >Регистрация прошла успешно!</p>";
  75.  ?>
  76.  
3. Lola - 03 Июля, 2007 - 12:36:29 - перейти к сообщению
Большое спасибо Улыбка вам, Евгений.

пожалуйста проверьте некоторые моменты восможны ли они ?

У меня немного отличный способ вхождения на саит.(так хочет ...кто-то)
при регистрации сушествуют только поля
-имя
-фамилия
-город
-улица
-номер тлелефона
-почтовый индекс
-email

затем проверка лишь на существование идентичного email, и если все о'к
сами высылаем юзеру его login и password , и он выходит на наш саит через линк исползует свой login и password

p.s.

Улыбка
................................ ........................
Спасибо, думаю это все, что я хотела узнать, далее разберусь сама!!!
Вроде здесь толькоо сталось со Smarty разобраться.
4. evgenijj - 03 Июля, 2007 - 14:44:09 - перейти к сообщению
На первый взгляд все правильно

http://smarty.php.net/manual/ru/

 

Powered by ExBB FM 1.0 RC1