Скрипт пошаговой регистрации

Даниил

Mc. Shinoda
Скрипт пошаговой регистрации

Добрый день, подскажите неопытному, как лучше организовать пошаговую регистрацию.

Все должно быть 4-е шага,
на первом берём логин и пароль, затем проверяем есть ли они в базе.

Во втором выбор услуги,
из второго пункта участник попадёт или на 3-ий или на 4-ый.

Вот как и где лучше проверять данные, все ли поля он заполнил и т.п.?
 

SteelBear

Новичок
Что то непонятно, так входит уже зарегистрировавшийся человек или он только регистрируется? обычно спрашивают логин и пароль а ниже делают кнопку регистрация, тоесть если человек не может зайти, то надо зарегистрироваться.
 

Кром

Новичок
>Вот как и где лучше проверять данные, все ли поля он заполнил и т.п.?

Проверять обязательно на сервере и желательно на клиенте.
Данные храни в сессии.
 

Groove

Новичок
храни шаг в БД... :)
чтобы можно было ПОТОМ продолжить регистрацию
на первый шаг иди например по ссылке

/register.php

на последующие шаги:
/register.php?object_id=123

и при обращении получай из БД текущий шаг, а затем его обрабатывай...
-----------------------------------
но если это регистрация пользователя, тогда конечно же в сессии

-~{}~ 20.01.06 15:09:

плюс такого решения:
(повторюсь, если же это НЕ регистрация нового пользователя)

все объекты с неоконченной регистрацией будут у тебя видны, будут видны их статусы и процесс регистрации объектов можно делать растянутым по времени.

И все же... Что за многошаговая регистрация тебя интересует?
 

Beetle(c)]u$

Новичок
хм, а зачем столько шагов?

за один шаг все проверяй и, если юзверь есть, то возвращай его обратно на страницу регистрации, выводя эррор мессаге
 

Даниил

Mc. Shinoda
Beetle(c)]u$, да н ет, шаги то регистрации, а первый шаг проверки свободности логина и записи в сессии выбранные им логин и пароль.
 

Dreammaker

***=Ф=***
Даниил, что мешает сделать проверку на первом этапе?
Растянутость регистрации, ИМХО, можно использовать в декоративных целях. Или в случаях, когда пользователю нужно дать время одуматься :)

Если же причина только в проверке присутствия логина, то по-моему и на первом этапе можно сделать. Или же шагнуть в ногу со временем :) и использовать аякс для быстрой проверки (где-то такое я видел - довольно удобно).
 

Даниил

Mc. Shinoda
Нет он ещё выбирает на втором шаге одну из двух услуг, затем переходит к заполнение полей о заказе о ней.
 

Dreammaker

***=Ф=***
Ну дык, тогда можно на первом этапе брать, логин, пароль и услугу, а на втором уже выводить поля специфичные для услуги (это если не использовать динамической подгрузки данных. И чё это я сегодня всё время аякс вспоминаю :) )
 

Даниил

Mc. Shinoda
:) Так, уоговорили сделать выбор сразу на первой странице. :)
А как проверить существует ли в базе пользователь с логином введённым в поле login, т.е. $_POST['login'];
 

white phoenix

Новичок
PHP:
$name = $_POST['login'];
$query = "SELECT COUNT(*) FROM `base` WHERE `login` = '".mysql_escape_string($name)."'";
Так лучше.
 

Даниил

Mc. Shinoda
Фанат, не правда...

Насколько я предпологаю нужно проверить кол. строк которое вернул мне запрос, т.е. наверное так:

PHP:
If (mysql_num_rows($res) == "0") {
return true;
}
else {
return false;
}
 

white phoenix

Новичок
Что проверить? Результат получить?
PHP:
$name = $_POST['login'];
$query = "SELECT COUNT(*) FROM `base` WHERE `login` = '".mysql_escape_string($name)."' LIMIT 1";
$result = mysql_query($query);
if (!$result) {$count = FALSE;}
else
{
 $count = mysql_fetch_row($result);
 $count = $count[0];
}
Если $count == FALSE, то ошибка запроса, если 0 то нет пользователя, если 1, то уже существует.
 

Фанат

oncle terrible
Команда форума
Даниил
что неправда?

white phoenix
у Даниил вариант проще твоего

Даниил
что это у тебя за return true?
 

white phoenix

Новичок
Даниил
> mysql_num_rows
Если хочешь эту функцию для данной задачи использовать, то
PHP:
// ...
$query = "SELECT 1 FROM `base` WHERE `login` = '".mysql_escape_string($name)."' LIMIT 1";
// ...
 
Сверху