Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регистрация и аутентификация
 
 автор: Raisa   (16.12.2012 в 23:11)   письмо автору
77.7 Кб
 
 

В книге "PHP практика содания Web -сайтов" глава 18 Регистрация пользователей:
не работает ни восстановление пароля, ни аутентификация.
Ошибок тоже не выдает.
Более того, скачала и установила сайт полностью с диска, войти на сайт можно, но нет приветствия, невоможно восстановить пароль, пишет, что пароль отправлен на указанный е-майл, но письмо не приходит.
Вопрос:
Есть ли протестированный и работающий блок регистрации/аутентификации пользователя на основе классов Softtime?
А то получается, даром дважды проштудировала приобретенную(!) книгу и файлы на диске и не могу настроить или найти ошибки в блоке авторизации?
Что делать, покупать и учиться по другим книгам заново?

  Ответить  
 
 автор: Valick   (17.12.2012 в 00:19)   письмо автору
 
   для: Raisa   (16.12.2012 в 23:11)
 

отправлен на указанный е-майл, но письмо не приходит
вы на локальном сервере тестируете? куда по вашему должно приходить письмо?
кроме "PHP практика содания Web -сайтов" какие у вас еще есть книги по РНР?

  Ответить  
 
 автор: Raisa   (17.12.2012 в 23:26)   письмо автору
 
   для: Valick   (17.12.2012 в 00:19)
 

Книги есть разные, но это не ответ на вопрос.
Я спросила, есть ли протестированный и работающий блок авторизации? Если нет, как можно было неработающий код представлять не всеобщее обозрение в книге?
Это по меньшей мере непрофессионально.
Если бы в книге не было ошибок, тогда может и не понадобился бы диск, но оказывается код на диске тоже нерабочий.
Получается тот, кто прочел и проработал книгу - сам дурак.

  Ответить  
 
 автор: Valick   (18.12.2012 в 10:00)   письмо автору
 
   для: Raisa   (17.12.2012 в 23:26)
 

Вы наверное единственный человек кому я посоветую видеокурсы Евгения Попова

  Ответить  
 
 автор: Sfinks   (17.12.2012 в 08:59)   письмо автору
 
   для: Raisa   (16.12.2012 в 23:11)
 

> А то получается, даром дважды проштудировала приобретенную(!) книгу и файлы на
> диске и не могу настроить или найти ошибки


Немного странный вывод, Вам не кажется?
Вы разве книжку ради диска покупали?
Я, например, диск из этой книги ни разу не вынимал даже, но о том что купил книжку ни разу не пожалел =)
Может просто плохо проштудировали? =)

А если серьезно, то проблема скорее всего в типе авторизации и способе установки php. Это что касается авторизации. А что касается восстановления, так для работы отправки писем нужно еще установить средства, необходимые для отправки писем.

  Ответить  
 
 автор: Raisa   (17.12.2012 в 23:28)   письмо автору
 
   для: Sfinks   (17.12.2012 в 08:59)
 

"А если серьезно, то проблема скорее всего в типе авторизации и способе установки php. Это что касается авторизации. А что касается восстановления, так для работы отправки писем нужно еще установить средства, необходимые для отправки писем." - это не ответ на вопрос.
Если есть работающий код авторизации, предоставьте, пожалуйста, ссылку.

  Ответить  
 
 автор: Sfinks   (18.12.2012 в 00:31)   письмо автору
 
   для: Raisa   (17.12.2012 в 23:28)
 

А может к Вам приехать и все настроить?
Мой ответ заключался в том, что код работающий.
Только нужно правильно настроить сервер и подходящим способом подключить к нему ПХП. А это уже не тема книги по PHP!
А вопроса "как это сделать?" лично я не видел.
А если Вас это все же интересует, то наверно вам поможет Хеопс, когда появится (или напишите ему в личку).
______
P.S. Человек, который "прочел и проработал книгу", как вы выражаетесь, может ее закрыть и написать такую ерунду, как блок авторизации сам за пол дня максимум. Вы же уже несколько дней ищете готовый. Попробуйте прочитать книгу не по диагонали.
______
P.P.S. Вот ответ автора по другой теме, но по той же проблеме:
> cheops
> У вас PHP как установлен, как модуль или как внешнее CGI-приложение? Дело в том,
> что базовая авторизация не работает, если PHP установлен не как модуль.

  Ответить  
 
 автор: Raisa   (18.12.2012 в 23:43)   письмо автору
 
   для: Sfinks   (18.12.2012 в 00:31)
 

Ребята, нечего на зеркало пенять.
Код нерабочий, если бы был рабочий, вы бы не обвиняли никого, а предоставили бы ссылку.
Мне жаль, но я везде и всем сообщу, что в такой-то книге представлен неработающий код.
А от вас мне ничего не нужно да и просто неинтересно.

  Ответить  
 
 автор: Mookapek   (19.12.2012 в 00:15)   письмо автору
 
   для: Raisa   (18.12.2012 в 23:43)
 

С домашнего компьютера письмо не отправится, если не установлен специальный сервер (smtp).
Протестируйте этот код на хостинге (если есть возможность), и, я думаю, все будет работать как надо.

  Ответить  
 
 автор: Valick   (19.12.2012 в 00:20)   письмо автору
 
   для: Mookapek   (19.12.2012 в 00:15)
 

-

  Ответить  
 
 автор: skate505   (25.12.2012 в 18:21)   письмо автору
 
   для: Mookapek   (19.12.2012 в 00:15)
 

смотри здесь http://www.it-max.ru

  Ответить  
 
 автор: oradev   (19.12.2012 в 16:28)   письмо автору
 
   для: 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 ?> 

  Ответить  
 
 автор: Valick   (19.12.2012 в 16:58)   письмо автору
 
   для: oradev   (19.12.2012 в 16:28)
 

oradev, гордость тут ни при чем.
это банальный развод на "слабо"
я сильно сомневаюсь, что это Раиса, а не какой-нить Раис
и что у него есть хоть одна книга, включая "практику создания"
в противном случае вопрос звучал бы "помогите разобраться с авторизацией"

  Ответить  
 
 автор: oradev   (19.12.2012 в 19:20)   письмо автору
 
   для: Valick   (19.12.2012 в 16:58)
 

Да Бог с ним

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования