[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регистрация по ID
BubbleBee
Как сделать регистрацию на сайте по хаотичному порядку цифр?

Например, я создал файл с номерами. Например, 9023458232664. Я выслал его пользователю на почту. Что-бы зарегаться на сайте ему нужно ввести id в поле.
Файл с id`шниками лежит в текстовом файле или в xml файле.

Так?

<?php
echo "Введите ваш ID:";
?>

<input name="id" type="submit"></input>

<?php
Как тут сделать чтение и проверку на верность введенного id, не показывая id?
?>



Спустя 1 час, 12 минут, 5 секунд (8.06.2011 - 23:30) inpost написал(а):
<input type="hidden" value="<?php echo $_GET['id']; ?>" />

Спустя 38 минут, 40 секунд (9.06.2011 - 00:08) waldicom написал(а):
Цитата (BubbleBee @ 8.06.2011 - 20:18)
Как тут сделать чтение и проверку на верность введенного id, не показывая id?

Общий вариант: открывать файл, считывать строки и сравнивать с пришедшим ключем. Если нашелся, то удаляем ключ и разрешаем регистрацию.

Спустя 8 минут, 16 секунд (9.06.2011 - 00:17) BubbleBee написал(а):
inpost, ммм можешь разъяснить?

'id' это что? название файла?

Вот например, я в текстовом фале написал:

9464646351
5416546846
2138468418

Залил на сервер. В файле реги прописал:

<input type="hidden" value="<?php echo $_GET['id.txt']; ?>" />

Правильно?

Спустя 22 минуты, 15 секунд (9.06.2011 - 00:39) waldicom написал(а):
То, что написал inpost, это не то, что тебе надо.

Спустя 11 минут, 18 секунд (9.06.2011 - 00:50) BubbleBee написал(а):
Вот смотри:

Это чтение файла построчно:

<?php
$file = file($filename);
foreach ($file as $a) {
echo $a;
}
?>


Это проверка на верность введенного:

<?php
//Фильтруем переменную
$text = htmlspecialchars(stripslashes(trim($text)));
//Удаляем/заменяеи ненужные символы
$text = str_replace("|*|", "",$text);
//Обрезаем строку(к примеру до 30 символов)
$text = substr($text,0,30);
//Проверяем наличие данных в переменной
if(empty($text)) {echo "Нет текста";}

//Простенькая проверка корректности введенного E-Mail
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
{ echo "Неверно введен е-mail."; }

//Проверка корректности введенного ICQ
if (!(is_numeric($icq) AND strlen($icq)<10 AND strlen($icq)>4))
{ echo "Неверно введен ICQ."; }

//Простенькая проверка корректности введенного URL
$url = str_replace("http://www.", "",$url);
$url = str_replace("http://","",$url);
if (!preg_match("/[0-9a-z_\.]/i", $url))
{ echo "Неверно введен url"; }
?>


Как это совместить?

Спустя 2 минуты, 4 секунды (9.06.2011 - 00:52) Игорь_Vasinsky написал(а):
Цитата
<input type="hidden" value="<?php echo $_GET['id.txt']; ?>" />


блин, ну какая регистрация, пиши сразу классы.

А лучше - учи PHP с самого начала и не чего не пропускай.

Спустя 1 минута, 34 секунды (9.06.2011 - 00:54) Игорь_Vasinsky написал(а):
BubbleBee
рарушь мои сомнения в тебе:

что это такое:
(!(is_numeric($icq)
???

Спустя 6 минут, 3 секунды (9.06.2011 - 01:00) BubbleBee написал(а):
Привет Игорь! Легко!

is_numeric

(PHP 4, PHP 5)

is_numeric - определяет, является ли переменная числом или числовой строкой.

Описание

bool is_numeric (mixed var)

Возвращает TRUE, если var является числом или числовой строкой, FALSE - в ином случае.

Спустя 8 минут, 23 секунды (9.06.2011 - 01:08) Игорь_Vasinsky написал(а):
Здраствуй.

а вот копипаст с мануала - меня ещё больше разочаровал.

Тогда так:
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))

покажи отрезок в котором проверяется зона(ru, com не важно) ;)

Спустя 5 минут, 48 секунд (9.06.2011 - 01:14) BubbleBee написал(а):
+@[0-9a-z_^\.]

Спустя 7 минут, 56 секунд (9.06.2011 - 01:22) Игорь_Vasinsky написал(а):
Попался! :D
Ну вот торопишься ты с делами на php, как и многие, с вилами на танк. Ну неужели трудренько - по тихоньку е торопясь обучатся -побовать, эксперементировать?
.[a-z]{2,3}


если в юникоде(utf-8) работаешь - то добавь модификатор "u" (это там где "i" в конце)

Спустя 14 минут, 22 секунды (9.06.2011 - 01:36) Игорь_Vasinsky написал(а):
BubbleBee
Я так понимаю - тебе активация аккаунтов нужна?

Моё видиние:
1. Во-первых в БД с юзерами добавить поле active (0 или 1, активен или нет)
2. После регистрации сформировать письмо еа указанный email, где кроме всяких благодарностей указать на ссылку до срипта в котором в GET прописан след номер(в конце ссылки)
3. В тхт хранить не только сгенерированный номер(md5(rand(0,1000000))wink.gif, а в паре с емайл, указанным при регистрации
4. При переходе по ссылке - вывести на скрипт, где предложит ввести логин и пароль
5. Если авторизировался - в БД поле active = 1, если нет, то ни чё не делаем

Вообще алгоритм по ширше (удалени не ативированных акаунтов, очистка txt раз в день и т.д.)

Но пищи для размышления тебе и на этом достаточно.

От тебя требуется только реализация на PHP.

С чего начать? с пункта 1. wink.gif (храни так же дату регистации)

Спустя 7 минут, 43 секунды (9.06.2011 - 01:44) inpost написал(а):
BubbleBee
высылается ссылка пользователю на почту, пройдите по ссылке чтобы закончить регистрацию:
lala.php?user_id=1&code=11313131415
Далее в самом файле его сверяешь, правильно ли пришли переменные user_id ^& code.
Вопрос в другом, как можно попросить человека ввести ID при этом не показывать ему его ID, который он же будет вводить?

Спустя 1 минута, 52 секунды (9.06.2011 - 01:46) Игорь_Vasinsky написал(а):
inpost
это ноу хау для буржуйских стран, чтоб голову поломали biggrin.gif

Спустя 2 часа, 55 минут, 38 секунд (9.06.2011 - 04:42) minok94 написал(а):
Тогда им придется лезть в HTML и искать значение hidden, какая интересная процедура, особенно если табуляция не соблюдается)))

Спустя 10 часов, 46 минут, 3 секунды (9.06.2011 - 15:28) BubbleBee написал(а):
"как можно попросить человека ввести ID при этом не показывать ему его ID, который он же будет вводить?"

Я имел ввиду чтобы багом не было, если например

echo id.txt;

Чтобы не показывало все, что есть в файле.

Игорь_Vasinsky, я не смогу сам написать smile.gif Я не php, может поможешь?

Спустя 31 минута, 13 секунд (9.06.2011 - 15:59) Игорь_Vasinsky написал(а):
Помочь, конечно - не не стану писать весь код за тебя. wink.gif

Цитата
1. Во-первых в БД с юзерами добавить поле active (0 или 1, активен или нет)
2. После регистрации сформировать письмо еа указанный email, где кроме всяких благодарностей указать на ссылку до срипта в котором в GET прописан след номер(в конце ссылки)
3. В тхт хранить не только сгенерированный номер(md5(rand(0,1000000)), а в паре с емайл, указанным при регистрации
4. При переходе по ссылке - вывести на скрипт, где предложит ввести логин и пароль
5. Если авторизировался - в БД поле active = 1, если нет, то ни чё не делаем

Вообще алгоритм по ширше (удалени не ативированных акаунтов, очистка txt раз в день и т.д.)


Пункт 1. создай БД согласно п.п.1, покажи структуру.

Спустя 1 день, 5 часов, 31 минута, 5 секунд (10.06.2011 - 21:30) Потрашитель написал(а):
Я бы сматерился да тут модеры жоские.Парень,делай регистрацию,чтобы ссылки пользователей были такие к примеру да http://mysite.ru/user.php?id=1 к примеру и через APACHE сделай http://mysite.ru/id1
APACHE:
создай файл с ОДНИМ ЛИШЬ РАСШИРЕНИЕМ БЕЗ ИМЕНИ .htaccess
и залей в него слудущей код который подходит к моему примеру:
RewriteEngine on
RewriteRule ^([^/\.]+)/?$ user.php?id=$1 [L]
-------------------------------------------------------
файл должен находиться в папке где сам user.php
Если ты незнаешь как сделать такую ссыль - http://mysite.ru/user.php?id=1 .Обьясню в личке!
_________________________________________________
если я не то базарю,всм не понЯл темы ссори,не гнабите!
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.