|
 77.7 Кб |
|
| В книге "PHP практика содания Web -сайтов" глава 18 Регистрация пользователей:
не работает ни восстановление пароля, ни аутентификация.
Ошибок тоже не выдает.
Более того, скачала и установила сайт полностью с диска, войти на сайт можно, но нет приветствия, невоможно восстановить пароль, пишет, что пароль отправлен на указанный е-майл, но письмо не приходит.
Вопрос:
Есть ли протестированный и работающий блок регистрации/аутентификации пользователя на основе классов Softtime?
А то получается, даром дважды проштудировала приобретенную(!) книгу и файлы на диске и не могу настроить или найти ошибки в блоке авторизации?
Что делать, покупать и учиться по другим книгам заново? | |
|
|
|
|
|
|
|
для: Raisa
(16.12.2012 в 23:11)
| | отправлен на указанный е-майл, но письмо не приходит
вы на локальном сервере тестируете? куда по вашему должно приходить письмо?
кроме "PHP практика содания Web -сайтов" какие у вас еще есть книги по РНР? | |
|
|
|
|
|
|
|
для: Valick
(17.12.2012 в 00:19)
| | Книги есть разные, но это не ответ на вопрос.
Я спросила, есть ли протестированный и работающий блок авторизации? Если нет, как можно было неработающий код представлять не всеобщее обозрение в книге?
Это по меньшей мере непрофессионально.
Если бы в книге не было ошибок, тогда может и не понадобился бы диск, но оказывается код на диске тоже нерабочий.
Получается тот, кто прочел и проработал книгу - сам дурак. | |
|
|
|
|
|
|
|
для: Raisa
(17.12.2012 в 23:26)
| | Вы наверное единственный человек кому я посоветую видеокурсы Евгения Попова | |
|
|
|
|
|
|
|
для: Raisa
(16.12.2012 в 23:11)
| | > А то получается, даром дважды проштудировала приобретенную(!) книгу и файлы на
> диске и не могу настроить или найти ошибки
Немного странный вывод, Вам не кажется?
Вы разве книжку ради диска покупали?
Я, например, диск из этой книги ни разу не вынимал даже, но о том что купил книжку ни разу не пожалел =)
Может просто плохо проштудировали? =)
А если серьезно, то проблема скорее всего в типе авторизации и способе установки php. Это что касается авторизации. А что касается восстановления, так для работы отправки писем нужно еще установить средства, необходимые для отправки писем. | |
|
|
|
|
|
|
|
для: Sfinks
(17.12.2012 в 08:59)
| | "А если серьезно, то проблема скорее всего в типе авторизации и способе установки php. Это что касается авторизации. А что касается восстановления, так для работы отправки писем нужно еще установить средства, необходимые для отправки писем." - это не ответ на вопрос.
Если есть работающий код авторизации, предоставьте, пожалуйста, ссылку. | |
|
|
|
|
|
|
|
для: Raisa
(17.12.2012 в 23:28)
| | А может к Вам приехать и все настроить?
Мой ответ заключался в том, что код работающий.
Только нужно правильно настроить сервер и подходящим способом подключить к нему ПХП. А это уже не тема книги по PHP!
А вопроса "как это сделать?" лично я не видел.
А если Вас это все же интересует, то наверно вам поможет Хеопс, когда появится (или напишите ему в личку).
______
P.S. Человек, который "прочел и проработал книгу", как вы выражаетесь, может ее закрыть и написать такую ерунду, как блок авторизации сам за пол дня максимум. Вы же уже несколько дней ищете готовый. Попробуйте прочитать книгу не по диагонали.
______
P.P.S. Вот ответ автора по другой теме, но по той же проблеме:
> cheops
> У вас PHP как установлен, как модуль или как внешнее CGI-приложение? Дело в том,
> что базовая авторизация не работает, если PHP установлен не как модуль. | |
|
|
|
|
|
|
|
для: Sfinks
(18.12.2012 в 00:31)
| | Ребята, нечего на зеркало пенять.
Код нерабочий, если бы был рабочий, вы бы не обвиняли никого, а предоставили бы ссылку.
Мне жаль, но я везде и всем сообщу, что в такой-то книге представлен неработающий код.
А от вас мне ничего не нужно да и просто неинтересно. | |
|
|
|
|
|
|
|
для: Raisa
(18.12.2012 в 23:43)
| | С домашнего компьютера письмо не отправится, если не установлен специальный сервер (smtp).
Протестируйте этот код на хостинге (если есть возможность), и, я думаю, все будет работать как надо. | |
|
|
|
|
|
|
|
для: Mookapek
(19.12.2012 в 00:15)
| | - | |
|
|
|
|
|
|
|
для: Mookapek
(19.12.2012 в 00:15)
| | смотри здесь http://www.it-max.ru | |
|
|
|
|
|
|
|
для: Raisa
(18.12.2012 в 23:43)
| | Я не гордый, вот авторизация
<?php
// Выставляем уровень обработки ошибок
Error_Reporting(E_ALL & ~E_NOTICE);
session_start();
// Устанавливаем соединение с базой данных
include "config.php";
$error = $data = "";
// обработчик формы login
if (isset($_POST['login']))
{
if (get_magic_quotes_gpc())
{
$_POST['user']=stripcslashes($_POST['user']);
$_POST['pass']=stripcslashes($_POST['pass']);
}
$_POST['user'] = mysql_real_escape_string($_POST['user']);
$_POST['pass'] = md5($_POST['pass']);
$query = "SELECT pass FROM userlist WHERE login='".$_POST['user']."'";
$res = mysql_query($query);
if(!$res)
{
echo "<p>Ошибка: Ошибка запроса к таблице базы данных:".mysql_error()."</p>";
exit();
}
if(mysql_num_rows($res) > 0)
{
$data = mysql_fetch_array($res);
if($data['pass'] == $_POST['pass'])
{
$_SESSION['status'] = true;
$_SESSION['check'] = md5($_SERVER["REMOTE_ADDR"].$_SERVER["HTTP_AGENT"]);
$_SESSION['name'] = $_POST['user'];
}
else
$error .= "Ошибка: Вы ввели неверный пароль<br />";
}
else
$error .= "Ошибка: Вы ввели неверный логин<br />";
}
// обработчик формы logout
if (isset($_GET['logout']))
{
// Уничтожить все переменные в сессии
$_SESSION = array();
// destroy the session
session_destroy();
// redirect to login page
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]'>
</HEAD></HTML>";
echo "TEST";
}
// пользователь успешно прошел авторизацию
if (isset($_SESSION['status']) &&
$_SESSION['check'] == md5($_SERVER["REMOTE_ADDR"].$_SERVER["HTTP_AGENT"]))
{
echo "Добро пожаловать ".htmlspecialchars($_SESSION['name']);
echo "<a href='{$_SERVER[PHP_SELF]}?logout=1'>Выйти</a>";
}
else
{
// если есть ошибки, выводим сообщение об ошибках
if (!empty($error))
{
echo "<p><font color=red>Во прохождения авторизации возникли следующие ошибки:</font><br />";
echo $error;
}
?>
<form method="post" title="Вход для пользователей">
<table cellspacing="0" border="0" cellpadding="0">
<tr>
<td>Имя пользователя:</td>
</tr>
<tr>
<td><input type="text" name="user" title="Введите логин" maxlength="20" value='<?php echo htmlspecialchars($_POST['user']); ?>'></td>
</tr>
<tr>
<td>Пароль:</td>
</tr>
<tr>
<td><input type="password" name="pass" title="Введите пароль" maxlength="20"></td>
</tr>
<tr>
<td><input type="submit" name="login" value='Войти'></td>
</tr>
</table>
</form>
<?php } ?>
|
| |
|
|
|
|
|
|
|
для: oradev
(19.12.2012 в 16:28)
| | oradev, гордость тут ни при чем.
это банальный развод на "слабо"
я сильно сомневаюсь, что это Раиса, а не какой-нить Раис
и что у него есть хоть одна книга, включая "практику создания"
в противном случае вопрос звучал бы "помогите разобраться с авторизацией" | |
|
|
|
|
|
|
|
для: Valick
(19.12.2012 в 16:58)
| | Да Бог с ним | |
|
|
|