Вместо этого:
/**
* Authorisation of the user
* Авторизация пользователя
*/
if(isset(!$ok && $_COOKIE['hash']))
{
Наверное нужно сделать так:
/**
* Authorisation of the user
* Авторизация пользователя
*/
if(!$ok && isset($_COOKIE['hash']))
{
Спустя 18 минут, 23 секунды (3.04.2010 - 13:50) twin написал(а):
Да, ошибка. Спасибо.
Спустя 1 месяц, 24 дня, 9 часов, 11 минут, 25 секунд (27.05.2010 - 23:01) Igrok написал(а):
Здравствуйте, twin!
Шаг 2. Аккаунт
После предложения
Шаг 2. Аккаунт
После предложения
Цитата |
Добавим в меню ссылку: |
хорошо бы добавить название файла, в котором происходит добавление: skins/tpl/index.tpl
Шаг 4. Автологин
В листинге функции modules/register/functions.php
в строке
$key .== $a[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
вместо массива $a[]необходимо использовать массив $arr[]
(как и в файле sequrity.zip, иначе зачем проделывать действия с массивом $arr[])
Шаг 5. Авторизация
В листинге файла read_controller.php
написано
/**
* Authorisation of the user
* Авторизация пользователя
*/
if(isset(!$ok && $_COOKIE['hash']))
Хотя, как писал LindonAlex необходимо (как и в файле sequrity.zip)
/**
* Authorisation of the user
* Авторизация пользователя
*/
if(!$ok && isset($_COOKIE['hash']))
Спустя 8 минут, 33 секунды (27.05.2010 - 23:10) Igrok написал(а):
Шаг 6. Защита страниц
После предложения
После предложения
Цитата |
Изменим ссылку в меню: |
хорошо бы добавить название файла, в котором происходит добавление: skins/tpl/index.tpl
В листинге файла modules/guest/router.php, который показан после слов
Цитата |
Теперь откроем роутер гостевой книги, и поставим туда заслон. |
вместо строки:
else
reDirect('mod=register', 'rem=read');
необходимо
else
reDirect('page=register', 'rem=read');
(как и в файле sequrity.zip)
и вместо строки:
include './modules/main/controller.php';
необходимо
include './modules/main/read_controller.php';
а если быть точнее, то файл read_controller.php подключается теперь по другому.
И, мне кажется, приводимый листинг - старый (какая-то старая версия), т.к. на самом деле он несколько шире
Опять же при его добавлении исчезает, вставленный ранее блок
/**
* The switch of controllers
* Переключатель контроллеров
*/
Спустя 1 минута, 58 секунд (27.05.2010 - 23:12) Igrok написал(а):
В файле sequrity.zip, кстати, все правильно.
Да, и в листинге файла modules/guest/read_controller.php
Да, и в листинге файла modules/guest/read_controller.php
Цитата |
Кроме того, теперь мы можем убрать поле "Логин" из гостевой книги и переписать блок записи в контроллере гостевухи так: |
появляются константы IRB_NO_TEXT и RB_WRITE, которые необходимо объявить
в файле language/ru.php
В файле sequrity.zip, кстати, все правильно.
P.S. Пришлось разбить на несколько сообщений, иначе теги php почему-то не отображаются /
Спустя 29 минут, 39 секунд (27.05.2010 - 23:41) twin написал(а):
Спасибо. Видно не все корректно изменил в листинге. Исправлю.

Спустя 3 дня, 23 часа, 19 минут, 4 секунды (31.05.2010 - 23:01) Igrok написал(а):
Здравствуйте, twin!
Еще некоторые комментарии по прохождению курса.
Шаг 4. Автологин
В функции Автологина куки устанавливается:
В то время как в файле sequrity.zip:
Т.е. в листинге функции setcookie() еще указывается параметр домен - не объявленная константа.
В результате выходит сообщение Notice: Undefined index: HTTP_REAL_HOST in Z:\home\registration.ru\www\modules\register\functions.php on line 61
Сделал как в файле sequrity.zip, все заработало без сообщений.
Шаг 6. Защита страниц
В файле modules/register/view.php в листинге кода вместо register необходимо registration
Т.е. вместо:
необходимо:
В файле sequrity.zip, кстати, все правильно.
Шаг 7. Выход
Еще некоторые комментарии по прохождению курса.
Шаг 4. Автологин
В функции Автологина куки устанавливается:
/**
* Function of installation of an autologin
* Функция установки автологина
* @param integr
* return void
*/
function setAutologin($id)
{
$hash = md5(randStr() . $id);
setcookie('hash', $hash, time() + 3600 * 24 * 30, '/', $_SERVER['HTTP_REAL_HOST']);
$res = mysqlQuery("UPDATE `". IRB_DBPREFIX ."user`
SET `hash` = '". $hash ."'
WHERE `id` = ". (int)$id
);
}
В то время как в файле sequrity.zip:
/**
* Function of installation of an autologin
* Функция установки автологина
* @param integr
* return void
*/
function setAutologin($id)
{
$hash = md5(randStr() . $id);
setcookie('hash', $hash, time() + 3600 * 24 * 30, '/');
$res = mysqlQuery("UPDATE `". IRB_DBPREFIX ."user`
SET `hash` = '". $hash ."'
WHERE `id` = ". (int)$id
);
}
Т.е. в листинге функции setcookie() еще указывается параметр домен - не объявленная константа.
В результате выходит сообщение Notice: Undefined index: HTTP_REAL_HOST in Z:\home\registration.ru\www\modules\register\functions.php on line 61
Сделал как в файле sequrity.zip, все заработало без сообщений.
Шаг 6. Защита страниц
В файле modules/register/view.php в листинге кода вместо register необходимо registration
Т.е. вместо:
/**
* The switch of templates
* Переключатель шаблонов
*/
switch($GET['rem'])
{
case 'register':
include './skins/tpl/register/show.tpl';
break;
необходимо:
/**
* The switch of templates
* Переключатель шаблонов
*/
switch($GET['rem'])
{
case 'registration':
include './skins/tpl/register/show.tpl';
break;
В файле sequrity.zip, кстати, все правильно.
Шаг 7. Выход
Цитата |
А в меню вывести эту переменную: |
хорошо бы после фразы добавить название файла, в котором происходит добавление:
skins/tpl/index.tpl
В листинге, начинающегося после слов;
Цитата |
А вот со ссылкой можно немного поизгаляться. Допустим в главный индекс прописать такие строки: |
$content = ob_get_contents();
ob_end_clean();
/**
* Link enter-exit
* Ссылка вход-выход
*/
if(!isset($_SESSION['user_data']))
$link_registr = '<a href="'.href('page=register', 'rem=enter') .'">Вход</a>';
else
$link_registr = '<a href="'.href('page=register', 'rem=exit') .'">Выход</a>';
/**
* Includes the main template of a site
* Подключаем главный шаблон сайта
*/
include './skins/tpl/index.tpl';
правильнее:
/**
* Link enter-exit
* Ссылка вход-выход
*/
if(!isset($_SESSION['user_data']))
$link_registr = '<a href="'.href('page=register', 'rem=read') .'">Вход</a>';
else
$link_registr = '<a href="'.href('page=register', 'rem=exit') .'">Выход</a>';
/**
* Includes the main template of a site
* Подключаем главный шаблон сайта
*/
include './skins/tpl/index.tpl';
В файле sequrity.zip, кстати, все правильно.
А в целом, все получается

Спустя 23 часа, 58 минут, 27 секунд (1.06.2010 - 22:59) Igrok написал(а):
Здравствуйте, Николай!
Шаг 8. Восстановление пароля
В листинге файла registration_controller.php
непонятны строки
Непонятно, что за 'value5'.
Возможно какая-то старая версия.
К тому же в Шаге 9 при добавлении новых строк этот кусок кода затирается.
И в файле sequrity.zip он тоже отсутствует.
Шаг 9. Активация аккаунта
Во фразе
Шаг 8. Восстановление пароля
В листинге файла registration_controller.php
непонятны строки
if($POST['value5'])
{
include './modules/register/functions.php';
setAutologin(mysql_insert_id());
}
Непонятно, что за 'value5'.
Возможно какая-то старая версия.
К тому же в Шаге 9 при добавлении новых строк этот кусок кода затирается.
И в файле sequrity.zip он тоже отсутствует.
Шаг 9. Активация аккаунта
Во фразе
Цитата |
Делаем контроллер активации: modules/register/acnivate_controller.php |
опечатка: activate_controller.php
Шаг 10. Личный кабинет. Итоги.
Во фразе
Цитата |
Теперь осталось изменить вызов функции в контроллере входа, просто убрав от туда true. Чтобы она выдавала только активированных пользователей: modules/register/enter_controller.php |
опечатка: изменения происходят в файле modules/register/read_controller.php
Спустя 8 минут, 5 секунд (1.06.2010 - 23:07) Igrok написал(а):
Здесь похоже опечатка в листинге кода:
Цитата |
и добавим ссылку в главный индекс: index.php |
<?php
/**
* Link enter-exit
* Ссылка вход-выход
*/
if(!isset($_SESSION['user_data']))
$link_registr = '<a href="'.href('page=register', 'rem=enter') .'">Вход</a>';
else
$link_registr = '<a href="'.href('page=register', 'rem=office') .'">Личный кабинет</a>
<a href="'.href('page=register', 'rem=exit') .'">Выход</a>';
должно быть
$link_registr = '<a href="'.href('page=register', 'rem=read') .'">Вход</a>';
Спустя 4 минуты, 19 секунд (1.06.2010 - 23:11) Igrok написал(а):
А следующие действия вроде бы уже сделали в Шаге 9.
Цитата |
Всё. Теперь можно спать спокойно, никто не обидится. Еще последний штришок - редирект из контроллера восстановления пароля нужно сделать прямо в личный кабинет, чтобы юзер не забыл сменить пароль: modules/register/activate_controller.php |
<?php
// Удаляем устаревшие записи
$res = mysql_query("DELETE FROM `". IRB_DBPREFIX ."user`
WHERE `activate` != 1
AND `date` < NOW() - INTERVAL 10 DAY
");
redirect('rem=office', 'id=0');
}
else
$info[] = 'Не верный код';
А так, вроде бы все получилось.
Познавательные курсы!
Сколько трудов нужно было приложить, чтобы последовательно и с объяснениями расписать пошагово действия от простого к сложному.
Спасибо!

P.S. Пришлось разбить на несколько сообщений, иначе некорректно отображаются php теги /
Спустя 30 секунд (1.06.2010 - 23:12) twin написал(а):
Ох как много сразу))))
Видно мало кто раньше разбирался так дотошно. Спасибо.
Видно мало кто раньше разбирался так дотошно. Спасибо.
Спустя 22 часа, 13 минут, 36 секунд (2.06.2010 - 21:25) noo написал(а):
twin, подскажи почему письма могут не доходить с кодом активации?
с sendmail на серваке все нормально
с sendmail на серваке все нормально
Спустя 18 минут, 19 секунд (2.06.2010 - 21:44) twin написал(а):
Тут сложно сказать. Может на хостинге с почтой не лады, может в спам попало...
Вообще то этот класс обкатанный, не было проблем.
Вообще то этот класс обкатанный, не было проблем.
Спустя 12 минут, 38 секунд (2.06.2010 - 21:56) noo написал(а):
Цитата (twin @ 2.06.2010 - 18:44) |
Тут сложно сказать. Может на хостинге с почтой не лады, может в спам попало... Вообще то этот класс обкатанный, не было проблем. |
Хм, в спаме нету, хостинг наверное того.
А вот при восстановлении пароля выдает:
" Что то поломалось "

Спустя 4 минуты, 17 секунд (2.06.2010 - 22:01) twin написал(а):
А, ну дык это скорее всего нет поддержки mail()
Вот так попробуй, что покажет?
Вот так попробуй, что покажет?
<?php
echo function_exists('mail') ? 'Есть' : 'Нету';
Спустя 1 час, 10 минут, 4 секунды (2.06.2010 - 23:11) Guest написал(а):
Есть. Простым mail() отправляет.
Уже пробовал в классе irb-mail всего по чуть-чуть убирать, но так и на захотела отправляться
Уже пробовал в классе irb-mail всего по чуть-чуть убирать, но так и на захотела отправляться

Спустя 1 час, 19 минут, 37 секунд (3.06.2010 - 00:30) twin написал(а):
Тогда это место
сделай так
if(!$error)
$info[] = 'На почтовый адрес '. $row['email'] .' отправлен код активации';
else
$info[] = 'Что то поломалось';
сделай так
if(!$error)
$info[] = 'На почтовый адрес '. $row['email'] .' отправлен код активации';
else
$info[] = $error;
Спустя 10 часов, 53 минуты, 20 секунд (3.06.2010 - 11:24) noo написал(а):
IRB_Mailer error: For technical reasons letter sending is impossible at present
на хостинге полные мудни в саппорте
, сказали что у меня неправильный скрипт, а они не при чем))
на хостинге полные мудни в саппорте

Спустя 1 час, 15 минут, 2 секунды (3.06.2010 - 12:39) twin написал(а):
Попробуй в классе вот тут убрать пятый параметр. Мож они заблочили спецом.
вот так
public function sendMail()
{
if(!$error = $this->checkData())
{
$this->createMultipart();
if(!mail($this->to, $this->subject, $this->multipart, $this->header, '-f'. $this->from))
return "IRB_Mailer error: \n". $this->mailererrors['no_send'];
вот так
public function sendMail()
{
if(!$error = $this->checkData())
{
$this->createMultipart();
if(!mail($this->to, $this->subject, $this->multipart, $this->header))
return "IRB_Mailer error: \n". $this->mailererrors['no_send'];
Спустя 15 минут, 33 секунды (3.06.2010 - 12:54) noo написал(а):
Спасибо, twin, отправка прошла, только теперь другая проблема:
в письме вместо html:
в письме вместо html:
Цитата |
Your post client does not support specification MIME 1.0 For correct display of the letter you should replace the post program. --==6df07fbd4c44e69c12f812aa1508de1a Content-type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 0KEg0JLQsNGI0LXQs9C+INGN0LvQtdC60YLRgNC+0L3QvdC+0LPQviDQv9C+0YfRgtC+0LLQvtCz 0L4g0LDQtNGA0LXRgdCwINC/0L7RgdGC0YPQv9C40LvQsCDQt9Cw0Y/QstC60LAg0L3QsCBh0LrR gtC40LLQsNGG0LjRjiDRg9GH0LXRgtC90L7QuSDQt9Cw0 и т.д. |
И это в GMAIL!
убрать base64-шифрование?
Спустя 1 час, 38 минут, 41 секунда (3.06.2010 - 14:33) twin написал(а):
Не причем тут шифрование. С гамадрилами этими вечно проблемы.
У меня нормально письма к ним идут, а с других хостингов слышал что не всегда.
Вообще он ясно же написал:
У меня нормально письма к ним идут, а с других хостингов слышал что не всегда.
Вообще он ясно же написал:
Цитата |
Your post client does not support specification MIME 1.0 For correct display of the letter you should replace the post program. |
Если разберешься, в чем затык - свисни плиз.
Спустя 2 часа, 55 минут, 18 секунд (3.06.2010 - 17:28) noo написал(а):
Гамадрилами оказали еще и яндекс-почта и рамблер 
Поэтому я решил не заморачиваться и сделал простую отправку:
теперь всем доходит без проблем.

Поэтому я решил не заморачиваться и сделал простую отправку:
$to=$row['email'];
$message = '<html><body>'.$message.'</body></html>';
$headers = "Content-type: text/html; charset=utf8 \r\n";
$headers .= "From: blabla <blabla@blabla.ru>\r\n";
$headers .= "Bcc: blabla@blabla.ru\r\n";
$mailer=mail($to, $subject, $message, $headers);
теперь всем доходит без проблем.
Спустя 11 дней, 6 часов, 1 минута, 4 секунды (14.06.2010 - 23:29) guenii написал(а):
twin,
Во-первых, СПАСИБО!
Действительно очень познавательно...
Прошел всё до системы регистрации, по пути столкнулся с разными проблемами...
Вот одна из них:
Когда юзер проходит активацию, странно ведут себя ссылки:
Главная страница (main/read/second/0)
Гостевая книга (guest/read/second/0)
Личный кабинет (register/office/second/0)
(причем тут second/0?)
При этом первые две всё равно работают, но когда заходишь в личку, ссылки на первые две приобретают след. вид:
Главная страница (main/office/second/0)
Гостевая книга (guest/office/second/0)
и естественно не работают...
Может надо как-то обнулять 'rem' параметр??? Что-то не могу разобраться....
Во-первых, СПАСИБО!
Действительно очень познавательно...
Прошел всё до системы регистрации, по пути столкнулся с разными проблемами...
Вот одна из них:
Когда юзер проходит активацию, странно ведут себя ссылки:
Главная страница (main/read/second/0)
Гостевая книга (guest/read/second/0)
Личный кабинет (register/office/second/0)
(причем тут second/0?)
При этом первые две всё равно работают, но когда заходишь в личку, ссылки на первые две приобретают след. вид:
Главная страница (main/office/second/0)
Гостевая книга (guest/office/second/0)
и естественно не работают...
Может надо как-то обнулять 'rem' параметр??? Что-то не могу разобраться....
Спустя 8 часов, 37 минут, 17 секунд (15.06.2010 - 08:07) twin написал(а):
Странно. Вообще то это не должно мешать. По крайней мере скрипт в архиве рабочий. Может все-таки что то напутано?
Спустя 3 часа, 27 минут, 46 секунд (15.06.2010 - 11:34) guenii написал(а):
Цитата |
Странно. Вообще то это не должно мешать. По крайней мере скрипт в архиве рабочий. Может все-таки что то напутано? |
Ну, в принципе, всё делал по-шагово, чтоб разобраться... Да, скрипт в архиве рабочий... В чем разница копаться уже не стал....
Всё равно спасибо...
Спустя 1 месяц, 8 дней, 9 часов, 29 минут, 22 секунды (23.07.2010 - 21:04) A.V. написал(а):
twin,
при валидации формы у меня отказыватся работать скрипт контроллера регистрации с функцией mb_strlen().
Например:
Зато работает с strlen().
Пока не понял почему так.
при валидации формы у меня отказыватся работать скрипт контроллера регистрации с функцией mb_strlen().
Например:
if(mb_strlen($POST['value2']) < 8)
$info[] = 'Пароль не надежен, меньше 8-ми символов.';
Зато работает с strlen().
Пока не понял почему так.
Спустя 1 минута, 20 секунд (23.07.2010 - 21:05) twin написал(а):
А что говорит?
Спустя 1 минута, 40 секунд (23.07.2010 - 21:07) A.V. написал(а):
Ничего. Просто не обрабатывается скрипт.
Спустя 1 час, 5 минут, 8 секунд (23.07.2010 - 22:12) twin написал(а):
Так не бывает. Или должна быть ошибка, или дело не в этом. mb установлена?
Спустя 15 минут, 21 секунда (23.07.2010 - 22:27) Basili4 написал(а):
А млжет быть такое что просто библиотеки mb на сервере нет.
Спустя 14 часов, 41 минута, 19 секунд (24.07.2010 - 13:09) A.V. написал(а):
Сглупил. Библиотека не была подключена.
Спустя 1 месяц, 13 дней, 19 часов, 31 минута, 21 секунда (8.09.2010 - 08:40) ruzarh написал(а):
Что то я неправильно понял что ли в уроке http://irbis-team.com/15/7/6?
при вводе test.ru/register/enter у меня ошибка,
а при вводе test.ru/register/read все работает
тогда зачем в роутере case 'enter':
при вводе test.ru/register/enter у меня ошибка,
а при вводе test.ru/register/read все работает
тогда зачем в роутере case 'enter':
<?php
/**
* View of the module of registration
* Отображение модуля регистрации
* @author IT studio IRBIS-team
* @copyright © 2009 IRBIS-team
*/
/////////////////////////////////////////////////////////
/**
* Generation of page of an error at access out of system
* Генерация страницы ошибки при доступе вне системы
*/
if(!defined('IRB_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../../404.html'));
}
///////////////////////////////////////////////////////////
$POST = htmlChars($POST);
/**
* The switch of templates
* Переключатель шаблонов
*/
switch($GET['rem'])
{
case 'registration':
include './skins/tpl/register/show.tpl';;
break;
case 'enter':
include './skins/tpl/register/form_autorize.tpl';
break;
default:
include './skins/tpl/register/form_autorize.tpl';
}
Спустя 19 минут, 54 секунды (8.09.2010 - 09:00) twin написал(а):
Какая ошибка? Текст можно?
Спустя 1 минута, 29 секунд (8.09.2010 - 09:01) ruzarh написал(а):
404 ошибка!
Спустя 9 минут, 49 секунд (8.09.2010 - 09:11) ruzarh написал(а):
Я знаю почему так, в файл называется read_controller.php а чтоб работало надо enter_controller.php! из за функций в роутере!
Спустя 2 дня, 7 часов, 30 минут, 36 секунд (10.09.2010 - 16:42) ruzarh написал(а):
Я не понимаю что вот в этом блоке в уроке http://irbis-team.com/15/7/8
Вот эта строчка
Ведь мы не создавали $user_data а мы его проверяем!
if($ok && !empty($GET['id']))
{
include './modules/register/functions.php';
if($user_data = getLogin($GET['id'], true))
{
$_SESSION['user_data'] = $user_data;
if($POST['value2'])
setAutologin($_SESSION['user_data']['id']);
redirect('host');
}
else
$info[] = 'Не верный код';
}
Вот эта строчка
if($user_data = getLogin($GET['id'], true))
Ведь мы не создавали $user_data а мы его проверяем!
Спустя 4 минуты, 44 секунды (10.09.2010 - 16:46) Lenarfate написал(а):
Цитата |
Вот эта строчка if($user_data = getLogin($GET['id'], true)) Ведь мы не создавали $user_data а мы его проверяем! |
внутри ифа как раз и создаем. проверка на равенство в условиях обозначается ==, а один знак равно - это всегда присваивание. то есть ту строку можно записать и так:
$user_data = getLogin($GET['id'], true);
if($user_data)
Спустя 2 часа, 33 минуты, 30 секунд (10.09.2010 - 19:20) ruzarh написал(а):
А вот где собака то порылась, смотрел, смотрел но видел фигу! Спасибо! Может просто запаренный был!
Спустя 22 часа, 15 минут, 35 секунд (11.09.2010 - 17:36) ruzarh написал(а):
Еще вопрос! Что может быть если при "Востоновление пароля" активация проходит только через http://test.ru/register/registration/23erghgbasdasdfhjhkjsd а не при введении в поле, т.е. как бы в поле я не вводил не выходит а выходит только в командной строке!
Спустя 30 минут, 9 секунд (11.09.2010 - 18:06) ruzarh написал(а):
Все получилось спасибо!
Спустя 2 часа, 9 минут, 48 секунд (11.09.2010 - 20:15) ruzarh написал(а):
Если при активации строка имеет вид
http://test.ru/register/resoration
И ввести неверный пароль активации то возврат идет на форму рестрорации а не активации!
http://test.ru/register/resoration
И ввести неверный пароль активации то возврат идет на форму рестрорации а не активации!
Спустя 8 дней, 20 часов, 48 минут, 16 секунд (20.09.2010 - 17:04) Omega написал(а):
Здравствуйте! У меня вопрос по автологину. Вопрос скорее не тенхнического, а идейного содержания. Значит, мы сохраняем в куки не пароль и логин, а случайную строку. Но тогда, для доступа на сайт злодею достаточно стырить куку с этой строкой и доступ на месяц ему обеспечен... Так стоит ли заморачиваться?
Спустя 18 минут, 49 секунд (20.09.2010 - 17:23) twin написал(а):
Ну почитай внимательно статью - там все расписано.
Тырить куку для того, чтобы зайти на какой-нибудь блог тёти Маши никакого смысла нет. Ну зайдет, ну похулиганит... Это не страшно, мелочи.
Другое дело, что люди часто используют один и тот же пароль на всех сайтах. На вебмани... На банковских счетах. Боятся забыть.
Думай.
Тырить куку для того, чтобы зайти на какой-нибудь блог тёти Маши никакого смысла нет. Ну зайдет, ну похулиганит... Это не страшно, мелочи.
Другое дело, что люди часто используют один и тот же пароль на всех сайтах. На вебмани... На банковских счетах. Боятся забыть.
Думай.
Спустя 2 минуты, 46 секунд (20.09.2010 - 17:25) Omega написал(а):
Есть "думать"!

Спустя 20 часов, 50 минут, 23 секунды (21.09.2010 - 14:16) Omega написал(а):
Тут в части про восстановление пароля опечатка: rem=activate
<!-- ./skins/tpl/register/form_restoration.tpl begin -->
<h2>Восстановление пароля</h2>
<div style="text-align:center; background-color:#D5FFF0" >
<?php echo getInfo($info); ?> <br>
<form action="<?php echo href('rem=activate') ?>" method="post">
Спустя 8 минут, 51 секунда (21.09.2010 - 14:25) twin написал(а):
Забыл уже... А как должно быть?
Спустя 6 минут, 32 секунды (21.09.2010 - 14:31) Omega написал(а):
rem=restoration
вызываем restoration_controller.php
там введённые данные используются для восстановления пароля по мылу и логину
вызываем restoration_controller.php
там введённые данные используются для восстановления пароля по мылу и логину
Спустя 12 минут, 14 секунд (21.09.2010 - 14:43) twin написал(а):
Угу, спасибо. Правда там вообще не надо ничего в акшен:
<!-- ./skins/tpl/register/form_activate.tpl begin -->
<h2>Активация аккаунта</h2>
<div style="text-align:center; background-color:#D5FFF0" >
<?php echo getInfo($info); ?> <br>
<form action="" method="post">
Спустя 7 дней, 21 час, 37 минут, 6 секунд (29.09.2010 - 12:20) ShamanV написал(а):
Цитата |
Теперь носталось изменить вызов функции в контроллере входа, просто убрав от туда true. Что бы она выдавала только активированных пользователей: modules/register/enter_controller.php |
Здесь read_controller.php. Файла enter_controller.php нет ни в листингах, ни в структуре образца.
Спустя 16 дней, 6 часов, 21 минута, 19 секунд (15.10.2010 - 18:42) copchic написал(а):
На локалке прирегистрации пишет ошибку
Call to undefined function mb_strlen() in D:\home\localhost\www\sait\modules\register\registration_controller.php on line 36
что это может быть?
Call to undefined function mb_strlen() in D:\home\localhost\www\sait\modules\register\registration_controller.php on line 36
что это может быть?
Спустя 2 часа, 1 минута, 55 секунд (15.10.2010 - 20:44) aH6y написал(а):
Цитата (Omega @ 20.09.2010 - 17:04) |
Здравствуйте! У меня вопрос по автологину. Вопрос скорее не тенхнического, а идейного содержания. Значит, мы сохраняем в куки не пароль и логин, а случайную строку. Но тогда, для доступа на сайт злодею достаточно стырить куку с этой строкой и доступ на месяц ему обеспечен... Так стоит ли заморачиваться? |
я делал следующим образом:
1. при выбранной галочке при входе рандомировал строку из нескольких блоков
2. к этой строке добавлял еще подстроки
3. затем это всё в хеш
4. записываем хеш в таблицу юзера в дополнительное поле
5. в куки пользователя записываеться информация:
- id пользователя
хеш, который был получен в пункте 3
7. да - авторизируем. нет - очищяем куки и перенаправляем на главную.
Спустя 9 минут, 2 секунды (15.10.2010 - 20:53) twin написал(а):
copchic
Цитата |
что это может быть? |
нет mb_ библиотеки
Спустя 1 минута, 1 секунда (15.10.2010 - 20:54) twin написал(а):
ShamanV
Цитата |
Здесь read_controller.php. Файла enter_controller.php нет ни в листингах, ни в структуре образца. |
ну... наверно окарал
Спасибо, разберемся

Спасибо, разберемся
Спустя 13 часов, 16 минут, 52 секунды (16.10.2010 - 10:11) copchic написал(а):
Цитата |
нет mb_ библиотеки |
Я что-то в лекциях про эту библиотеку ничего не нашёл. Где посмотреть?
Спустя 9 минут, 57 секунд (16.10.2010 - 10:21) twin написал(а):
Нужно поставить полную версию php просто. Если денвер - то у них есть полный пакет. Я писал тут, что нужно ставить полный.
Спустя 43 минуты, 37 секунд (16.10.2010 - 11:04) copchic написал(а):
Спасибо за помощь!
Спустя 2 часа, 13 минут, 35 секунд (16.10.2010 - 13:18) copchic написал(а):
Переустановил Денвер - проблема не ушла???
Спустя 1 день, 36 минут, 1 секунда (17.10.2010 - 13:54) copchic написал(а):
Денвер
Denwer3_Base_2010-03-18_a2.2.4_p5.3.1_m5.1.40_pma3.2.3
потом поставил денвер
Denwer3_Base_PHP52_2010-03-18_a2.2.4_p5.2.12_zendoptimizer_m5.1.40_pma3.2.3
Установил библиотеку ZendOptimizer
ошибка осталась
Fatal error: Call to undefined function mb_strlen() in Z:\home\localhost\www\sait\modules\register\office_controller.php on line 33
Call Stack
Time Memory Function Location
1 0.0026 80720 {main}( ) ..\index.php:0
2 0.0171 219280 include( 'Z:\home\localhost\www\sait\modules\register\router.php' ) ..\index.php:86
3 0.0187 237336 include( 'Z:\home\localhost\www\sait\modules\register\office_controller.php' ) ..\router.php:32
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
Denwer3_Base_2010-03-18_a2.2.4_p5.3.1_m5.1.40_pma3.2.3
потом поставил денвер
Denwer3_Base_PHP52_2010-03-18_a2.2.4_p5.2.12_zendoptimizer_m5.1.40_pma3.2.3
Установил библиотеку ZendOptimizer
ошибка осталась
Fatal error: Call to undefined function mb_strlen() in Z:\home\localhost\www\sait\modules\register\office_controller.php on line 33
Call Stack
Time Memory Function Location
1 0.0026 80720 {main}( ) ..\index.php:0
2 0.0171 219280 include( 'Z:\home\localhost\www\sait\modules\register\router.php' ) ..\index.php:86
3 0.0187 237336 include( 'Z:\home\localhost\www\sait\modules\register\office_controller.php' ) ..\router.php:32
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
может кто подскажет в чём проблема?
Спустя 37 минут, 14 секунд (17.10.2010 - 14:31) arvitaly написал(а):
в php.ini раскомментируйте строку extension=php_mbstring.dll и перезапустите апач
Спустя 1 час, 53 минуты, 59 секунд (17.10.2010 - 16:25) copchic написал(а):
Отлично! Заботало. Спасибо arvitaly! 
Может какие ещё библиотеки подключить надо, а то в гостевой тоже ошибка выскакивает.

Может какие ещё библиотеки подключить надо, а то в гостевой тоже ошибка выскакивает.