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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Написал регистрацию и где то ошибся...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Помощь в поиске ошибки!
Banditos
Отправлено: 11 Апреля, 2013 - 01:13:07
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3.  ?>
  4.  
  5. <html>
  6. <head>
  7. <title>Несуществуещий мир - Регистрация</title>
  8. <link rel=stylesheet type="text/css" href="i/forum.css">
  9. <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
  10. <META Http-Equiv=Cache-Control Content=no-cache>
  11. <meta http-equiv=PRAGMA content=NO-CACHE>
  12. <META Http-Equiv=Expires Content=0>
  13. <link href="img/style.css" rel="stylesheet" type="text/css">
  14. </head>
  15.  
  16.  
  17.  
  18.  
  19.  
  20. <?
  21.    
  22.    
  23.  
  24. // Вывод формы ввода регистрационных данных
  25. if (($username=="") and (!isset($id)))
  26. {
  27.  
  28.  ?>
  29.  
  30.  <!--форма с необходимыми полями информации об играке-->
  31.  
  32.  <div class="register">
  33. <form action='index.php' method="post"> <br>
  34.  
  35. <span class="text_register">Имя позльзователя: </span> <input name="username" size="32"> <br>
  36. <span class="text_register">Пароль: </span> <input name="pass1" type="password" size="32"> <br>
  37. <span class="text_register">Подтвердите пароль: </span> <input name="pass2" type="password" size="32"> <br>
  38. <span class="text_register">E-mail: </span> <input name="Email" size="32"> <br>
  39. <input type="submit" value="Зарегистрироваться">
  40. </form></div>
  41.  
  42.  <?
  43.  }
  44. //Регистрация пользователя
  45. if (username!="")
  46.         {
  47. if(pass1 != pass2)
  48.                         die('Пароль не соответствует первому подтверждению'); // die - прекращяет действие скрипта если что то не верно... псевдоним exit();
  49. //--------------------------------------------------------------//
  50. include('../../include/db_connect.php'); // Подключаем базу данных
  51.  
  52. // удаляем не активированые за 2 часа записи
  53. $tmax=time()-7200;
  54. @mysql_querry("DELETE FROM players WHERE reg_time < $tmax AND active=0");
  55.  
  56. // ПРоверяем есть ли в базе пользователь с таким E-mail
  57. $query = mysql_query("SELECT * FROM players WHERE User ='$username' or Email ='$Email' ");
  58. if (mysql_num_rows($query))
  59.         die("Такой пользователь уже существует!");
  60.        
  61.         $activatkey = md5(rand(1,1000000)).$username;
  62.         $password = md5 ($pass1);
  63.         $userrtime = time();
  64.        
  65.         mysql_query("INSERT INTO players (User,Password,reg_time,Email,key,active) VALUES ('$username','$password','$userrtime','$email','$activatekey','0')");
  66.        
  67. $mailbody="Ваша учетная запись помещена в очередь обновления.\n\n  Для подтверждения обновления щелкните здесь:\n http://www.samurai.ru/modules/registration/index.php?id=$activatkey \n\nСпосибо";
  68.        
  69.         //отправить письмо с емейлом на почту для подтверждения
  70. }
  71. //активация пользователя
  72. if (isset($id))
  73. {
  74. $result = mysql_query("SELECT * FROM players WHERE key ='$id' and active ='0'");
  75. $data = mysql_fetch_array($result);
  76. if (!mysql_num_rows($result))
  77.         die("Код отсутствует. Видимо, ваша регистрация устарела!");
  78.        
  79.         mysql_query("UPDATE players SET active=1, key='' WHERE key='$id' and active=0");
  80.         print("Активация прошла успешно");
  81. }
  82. ?>
  83.  
  84. </div>
  85.  
  86. </body>
  87. </html>
  88.  


Проблема в том что ничего не получаеться... никакие данные не заносяться в БД!!! Пути прописал верно... И старался коментить что б не запутаться и видно перестарался... Хм
Выводит сообщение сразу как обновляеш страничку : Пароль не соответствует первому подтверждению.
Выходит ошибка где то до этого места и понятно почему нету продолжения... но где выше мог ошибиться?

(Отредактировано автором: 11 Апреля, 2013 - 01:16:52)

 
 Top
esterio
Отправлено: 11 Апреля, 2013 - 01:23:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




$_POST['password']; и т.д.
 
 Top
Banditos
Отправлено: 11 Апреля, 2013 - 02:14:48
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




esterio пишет:
$_POST['password']; и т.д.

PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['username'])) {
  2.  $username = $_POST['username'];
  3.  if ($username == '') { unset($username);
  4.  } } //заносим введенный пользователем логин в переменную $username, если он пустой, то уничтожаем переменную
  5.     if (isset($_POST['pass1'])) { $pass1=$_POST['pass1'];
  6.         if ($pass1=='') { unset($pass1);
  7.         } }
  8. //заносим введенный пользователем логин в переменную $pass1, если он пустой, то уничтожаем переменную
  9.  

Так?)
(Добавление)
КОд явно не рабочий и я его точно уж не правельно прописал... сейчас сонный весь, но прошу закрыть глаза на то что в нем переменные даже банально спутаны, помогите роставить точки над и...
PHP:
скопировать код в буфер обмена
  1. $myemail2=mysql_query("SELECT Email FROM players");
  2.         $myemail = mysql_fetch_array ($myemail2);
  3.     if (!empty($email['Email'])) {
  4.     exit ("Извините, введённый вами емейл уже зарегистрирован. ");
  5.     }
  6.         $result_mail = mysql_query ("INSERT INTO players (Email) VALUES('$email')");
  7.     // Проверяем, есть ли ошибки
  8.        
  9.     if ($result_mail=='TRUE')
  10.     {
  11.    
  12.     } else {
  13.          echo "Даный емейл существует... попробуйте заново!. <a href='index.php'>Главная страница</a>";
  14.         }
  15.  

Или вот так я еще попробывал:
PHP:
скопировать код в буфер обмена
  1. $myemail2=mysql_query("SELECT Email FROM players VALUES('$email')");
  2.         if ($myemail2==$email){
  3.          echo "Даный емейл существует... попробуйте заново!. <a href='index.php'>Главная страница</a>";
  4.         }

как правильно настроить что б была проверка Емейла по БД на наличие такого же...
Спосибо за помощь!
PHP:
скопировать код в буфер обмена
  1. Проблему решил сам :) Код робочий ниже...

PHP:
скопировать код в буфер обмена
  1.  
  2.          $result_email = mysql_query("SELECT id FROM players WHERE Email='$email'",$db);
  3.     $myemail = mysql_fetch_array($result_email);
  4.     if (!empty($myemail['id'])) {
  5.     exit ("Извините, введённый вами Email уже зарегистрирован. Введите другой Email.");
  6.     }
  7. $result2 = mysql_query ("INSERT INTO players (User,Password,Email) VALUES('$username','$pass1','$email')");
  8.     // Проверяем, есть ли ошибки
  9.        
  10.     if ($result2=='TRUE')
  11.     {
  12.     echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
  13.     }
  14.  

Всем спосибо!

(Отредактировано автором: 11 Апреля, 2013 - 03:14:13)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB