Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 14:37   #1
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
Смущение регистрация пользователей

Реализовать форму регистрации пользователей (поля ввода имени и пароля). При нажатии кнопки отправки данные нового пользователя заносятся в БД. Все пользователи должны быть уникальными.
Добавить возможность вывода всех зарегистрированных пользователей.
заранее спасибо
Ast вне форума Ответить с цитированием
Старый 26.12.2011, 14:41   #2
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

переносите во фриланс - там договоримся...
Minus_yu вне форума Ответить с цитированием
Старый 26.12.2011, 15:28   #3
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
Подмигивание

не лучше сам сделаю, ща дочитаю чуть чуть

выложу что получится чуть позже.
Ast вне форума Ответить с цитированием
Старый 26.12.2011, 15:36   #4
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

ты таким образом счетчик накручиваешь?
Minus_yu вне форума Ответить с цитированием
Старый 27.12.2011, 15:25   #5
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
Радость

нет, просто поправите где не правильно сделаю,

нужно 2 или 3 файла, пока у меня 1 файл конектится с базой
config.php:
PHP код:
$dblocation "localhost";
$dbuser "root";
$dbpasswd "";
$dbname "test";

$dbcnx = @mysql_connect($dblocation$dbuser$dbpasswd);
if (!
$dbcnx);
{
    exit (<
p>В настоящий момент сервер базы данных недоступенпоэтому корректное отображение страницы невозможно.</p>)
}
if (! @
mysql_select_db($dbname$dbcnx)) {
    exit (<
p>В настоящий момент сервер базы данных недоступенпоэтому корректное отображение страницы невозможно.</p>)
}
else
{
    echo 
"<p>Соединение установлено</p>"

с index.php проблемка как именно таблицу создать с какими значениями,
пока есть тока так ,но и это не правильно и такой вопрос каждый раз таблица будет создаваться? и как в неё потом будет добавить пользователя.:

PHP код:
include "config.php";

$query "CREATE TABLE forum (
id int(11) NOT NULL auto_increment,
login varchar(32) NOT MULL default,
pass varchar(32) NOT NULL default,
email varchar(225) collate NOT NULL default,
PRIMARY KEY (id))"
;

if (
mysql_query($query))
{
   echo 
"Таблица создана успешно";
}
else
{
   exit(
mysql_erorr());

Ast вне форума Ответить с цитированием
Старый 28.12.2011, 15:56   #6
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
Радость

PHP код:
include "config.php";

$query "CREATE TABLE forum (
id int(11) NOT NULL auto_increment,
login varchar(32),
pass varchar(32),
email varchar(225),
PRIMARY KEY (id))"
;

if (
mysql_query($query))
{
   echo 
"Таблица создана успешно";
}
else
{
   exit(
mysql_erorr());

нашёл ошибку сейчас таблица создасться
Ast вне форума Ответить с цитированием
Старый 28.12.2011, 17:35   #7
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Осталось только создать форму логинпароль и при запросе проверять есть ли пользователь с таким ником в базе, и если нету то добавлять.
Удачи!
Lime вне форума Ответить с цитированием
Старый 05.01.2012, 07:36   #8
Ast
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 117
Смущение

в общем, почти сделал тока ошибки есть(

форма регистрации:

Код HTML:
<html>
  <head>
    <title>Регистрация нового пользователя</title>
  </head>
  <body>
    <table>
      <tr><td>
        <form action = "reg_end.php" method = "post">
          Введите, пожалуйста, желаемый логин:</td><td> <input type = "text" name = "login">
      </td></tr>
      <tr><td>
        Введите свой пароль<br /></td><td><input type = "password" name = "pass">
      </td></tr>
      <tr><td>
        Повторите свой пароль:</td><td><input type = "password" name = "second_pass">
      </td></tr>
      <tr><td>
        Введите свой e-mail:</td><td><input type = "text" name = "email">
      </td></tr>
      <tr><td>
        <input type = "submit" value = "Зарегистрироваться">
      </form>
      </td></tr>
    </table>
  </body>
</html>
и файл проверки свободен или нет, логин майл. reg_end.php:
PHP код:
<?php
  
// Приём данных из формы
  
$login $_POST['login'];
  
$pass $_POST['pass'];
  
$second_pass $_POST['second_pass'];
  
$email $_POST['email'];
  
// Проверка вводимых данных на корректность
  
if(!preg_match("/^[A-Za-z0-9]+$/",$login))
    {
      include 
"regerror.php";// Здесь можно поставить адрес любой страницы с сообщением об ошибке. Аналогично со всеми инклюдами в проверке данных и их соответствии.
      
exit();
    }
  if(!
preg_match("/^[A-Za-z0-9]+$/",$pass))
    {
      include 
"regerror.php";
      exit();
    }
  if(!
preg_match("/^[A-Za-z0-9]+$/",$second_pass))
    {
      include 
"regerror.php";
      exit();
    }
  if(!
preg_match("/^[dw-_.]+@[dw-.]+.[w]{2,4}/i",$email))
    {
      include 
"regerror.php";
      exit();
    } 
  
// Проверяем соответствие пароля и его копии
  
if (!$pass == $second_pass)
    {
      include 
"regerror.php";
      exit ();
    }
  
// Проверим занятость логина и мыла в скрипте
  // Коннектимся к базе данных
  
include "config.php";
  
// Формируем запрос
  
$query_login "SELECT  `id`,`mail` FROM `id` WHERE login = "$login" OR mail = "email";";
  
// Делаем запрос к БД
  
$ath mysql_query ($query_login$dbdeskriptor);
  
// Проверяем успешность запроса
  
if (!$ath)
    {
      include 
"dberror.php"// При проверке успешности запроса указывайте свой адрес файла с сообщением об ошибке
      
mysql_close ($dbdeskriptor);
      exit ();
    }
  
// Извлекаем результаты запроса
  
$result mysql_fetch_assoc ($ath);
  
// Проверяем свободность
  
if (isset ($result ['user']))
    {
      include 
"regerror.php";
      
mysql_close ($dbdeskriptor);
      exit ();
    }
  
// Если всё нормально, заносим данные в базу данных
  // Сформируем данные
  
$pass md5 ($pass);
  
// Сформируем запрос
  
$query_insert "INSERT INTO user VALUES (0,'$login','$pass','$email');";
  
// Проведём запрос к БД
  
$ath mysql_query ($query_insert$dbdeskriptor);
  
// Проверим успешность запроса
  
if (!$ath)
    {
      include 
"dberror.php";
      
mysql_close ($dbdeskriptor);
      exit ();
    }
  
// Закроем соединение с БД
  
mysql_close ($dbdeskriptor);
  
// Выведем сообщение об успешной регистрации
  
echo "Регистрация прошла успешно";
?>

на этой строчке ошибка.
$query_login = "SELECT `id`,`mail` FROM `id` WHERE login = "$login" OR mail = "email";";
Ast вне форума Ответить с цитированием
Старый 05.01.2012, 09:55   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

соблюдайте парность кавычек, переменные начинайте с $
$query_login = "SELECT `id`,`mail` FROM `id` WHERE login = '$login' OR mail = '$emai'";
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сколько пользователей Fezdipekla Microsoft Office Access 3 17.05.2010 21:23
Регистрация пользователей cheef PHP 57 04.05.2010 19:11
Авторизация пользователей slips PHP 19 12.01.2010 14:46
Авторизация пользователей Yoga Помощь студентам 9 25.11.2009 19:02
Регистрация/авторизация пользователей при помощи PHP, без использования MySQL. Web-Gangsta PHP 30 03.05.2009 18:32