Автор Тема: Pear  (Прочитано 14859 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« : 02 Марта 2004, 19:37:41 »
Привет всем!
Кто нибудь использует Pear, Auth?
Есть проблема, почему то не хочет аутентефецироваться. Говорит -3, то есть не правильный логин, пароль хотя все правильно. Pear стоит 1.3 последний, Auth тоже. Что может быть не пойму

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #1 : 02 Марта 2004, 21:49:08 »
код покажи
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Pear
« Ответ #2 : 02 Марта 2004, 22:12:11 »
господи, что там, в авторизации, такого, чтобы отдельный модуль городить?

Оффлайн Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #3 : 03 Марта 2004, 12:29:22 »
require_once "Auth/Auth.php";
function loginFunction()
{
    echo "";
    echo "
";
    echo "";
    echo "";
    echo "";
}

$params = array(
            "dsn" = "mysql://$User:$Pwd@$Host/$DBName";
            "table" => "autha",
            "usernamecol" => "username",
            "passwordcol" => "password"
            );

$a = new Auth("DB", $params, "loginFunction");
$a->start();

if ($a->getAuth()) {print ("logged in");} else {
print ("not logged in");}

if ($a->getStatus()) {print ($a->getStatus());}
?>

для RomikChef
А если авторизуется не один пользователь, а список пользователей, и у них разные права и разные страници?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #4 : 03 Марта 2004, 12:58:59 »
после
$a->start();
добавь
print_r($_SESSION);

что-нибудь выводит ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #5 : 05 Марта 2004, 13:08:36 »
Выводит!
Array ();

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #6 : 05 Марта 2004, 13:20:40 »
это он выводит после того как ты ввел логин и пароль и нажал сабмит ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #7 : 05 Марта 2004, 13:22:39 »
Да, после submit();

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #8 : 05 Марта 2004, 13:26:44 »
Хотя и сабмитом и без одна фигня Array();

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #9 : 05 Марта 2004, 13:30:10 »
так для начала включи вывод ошибок:
error_reporting(E_ALL);
ini_set(\'display_errors\', \'On\');

после этого кода ошибки выводятся ?

Далее зайди в /Auth/Container/DB.php
и найди там строку:        $query sprintf("SELECT %s FROM %s
                             WHERE %s = \'%s\'"
,
                         
$this->options[\'usernamecol\'] . ", "
                         . $this->options[\'passwordcol\']
                         . $cols,
                         $this->options[\'table\'],
                         $this->options[\'usernamecol\'],
                         $username
                         );
(метод fetchData())
напиши после этой строки
die ($query);
затем выполни скрипт, ввведи логин/пароль нажми сабмит и посмотри выводится ли запрос ? если да, то выполни этот запрос через пхпМайАдмин. Находятся ли строки по этому запросу ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #10 : 05 Марта 2004, 13:35:49 »
Ошибок после
error_reporting(E_ALL);
ini_set(\'display_errors\', \'On\');
никаких НЕТ!

А вот с пунктом номер 2 сложнее так как весь pear я не вижу, он у провайдера, кстати может быть поэтому проблемы?

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #11 : 05 Марта 2004, 13:40:29 »
То есть я конечно могу позвонить и попросить всунуть в DB эту строчку, это не проблема. Вот только может быть я pear скрипты как нибудь не так поставил, ведь получается что они как бы общие у всех.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #12 : 05 Марта 2004, 13:48:20 »
aka Pearman
я всегда все классы (pear в том числе) заливаю себе в какую-то папку (/classes например). И в .htaccess прописываю
php_value include_path ".:/path/to/classes/"
таким образом я от хостера не завишу. Если что - могу и классы сам подправить.

Попробуй сделать вместо $a->start():

if ($_SERVER[\'REQUEST_METHOD\'] == \'POST\') {
  $a->assignData();
   session_start();
  $res = $a->storage->fetchData($a->username, $a->password);
  echo "<pre>";
  print_r($res);
  echo "</pre>";
  exit;
}


хотя все-таки лучше классы в свою папку закачать (ИМХО)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #13 : 05 Марта 2004, 13:53:14 »
aka Pearman
а локально (на своем компе) у тебя этот код работает ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн aka Pearman

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Pear
« Ответ #14 : 05 Марта 2004, 13:53:20 »
Вот что я увидел!
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/www/satnam/www.satnam.ru/htdocs/test/auth.php:3) in /usr/www/satnam/www.satnam.ru/htdocs/test/auth.php on line 38

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/www/satnam/www.satnam.ru/htdocs/test/auth.php:3) in /usr/www/satnam/www.satnam.ru/htdocs/test/auth.php on line 38

Скажи пожайлуста, а если ставить в свою папку, то каким образом просто распоковывать tar туда или все таки нужно как-то типо pear install в такую ту директоррию??

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28