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

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

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #15 : 05 Марта 2004, 13:55:15 »
так, ясно
http://faq.phpclub.net/headers - читай
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
« Ответ #16 : 05 Марта 2004, 13:56:32 »
Нет не работает, что значит локально? На сервере? Он у провайдера!

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #17 : 05 Марта 2004, 13:58:41 »
обычно снчало пишут код, тестируют его на своем компе а потом уже закачивают на сервер.
Но ты все-таки прочитай статью, ссылку на которую я дал
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
« Ответ #18 : 05 Марта 2004, 14:09:02 »
Переместил. После прочтения статьи код выглядит так:

require_once "Auth/Auth.php";
$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());}

error_reporting(E_ALL);
ini_set(\'display_errors\', \'On\');

function loginFunction()
{
    /**
     * Change the HTML output so that it fits to your
     * application.
     */
    echo "";
    echo "
";
    echo "";
    echo "";
    echo "";
}

$params = array(
            "dsn" => "mysql://$pass:$user@localhost/$dbname",
            "table" => "autha",
            "usernamecol" => "username",
            "passwordcol" => "password"
            );

print_r($_SESSION);

?>

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #19 : 05 Марта 2004, 14:16:13 »
проблема осталась ?
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
« Ответ #20 : 05 Марта 2004, 14:18:09 »
Да я убрал, все знаки и вот что получил:

pear_error Object
(
    [error_message_prefix] =>
    [mode] => 1
    [level] => 1024
    [code] => 41
    [message] => The given dsn was not valid in file /usr/local/lib/php/Auth/Container/DB.php at line 101
    [userinfo] =>
    [backtrace] => Array
        (
           
  • => Array

                (
                    [file] => /usr/local/lib/php/PEAR.php
                    [line] => 534
                    [function] => pear_error
                    [class] => pear_error
                    [type] => ->
                    [args] => Array
                        (
                           
  • => The given dsn was not valid in file /usr/local/lib/php/Auth/Container/DB.php at line 101
  • [1] => 41
                                [2] => 1
                                [3] => 1024
                                [4] =>
                            )

                    )

                [1] => Array
                    (
                       
[file] => /usr/local/lib/php/Auth/Container/DB.php
                    [line] => 229
                    [function] => raiseerror
                    [class] => pear
                    [type] => ::
                    [args] => Array
                        (
                           
  • => The given dsn was not valid in file /usr/local/lib/php/Auth/Container/DB.php at line 101
  • [1] => 41
                            )

                    )

                [2] => Array
                    (
                       
[file] => /usr/www/satnam/www.satnam.ru/htdocs/test/auth.php
                    [line] => 7
                    [function] => fetchdata
                    [class] => auth_container_db
                    [type] => ->
                    [args] => Array
                        (
                           
  • => guru
  • [1] => arjan
                            )

                    )

            )

       
[callback] =>
)

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #21 : 05 Марта 2004, 14:20:19 »
Вот в чем ошибка:
Цитировать
The given dsn was not valid in

неправильные параметры для доступа к СУБД
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
« Ответ #22 : 05 Марта 2004, 14:25:20 »
Что это может значить в моем случае?
То что они правильные я уверен, значит если perar стоит непосредственно у провайдера то значит в dns будет не localhost? А возможно что то другое? И все же как поставить классы Pear себе? Просто распоковать в папку и прописать .httacess или нужно инсталировать с путями типо: pear install Auth путь??

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #23 : 05 Марта 2004, 14:38:09 »
Цитировать
aka Pearman:
"dsn" => "mysql://$pass:$user@localhost/$dbname",

  "dsn" => "mysql://$user:$pass@localhost/$dbname",
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
« Ответ #24 : 05 Марта 2004, 14:42:56 »
Ну да user:pass я просто их на переменные меняю чтобы в форуме не светить, прсото при смене ошибся. В коде все так и стоит, только не понятно что там у тебя за скобка квадратная в конце. Так как все таки стаить pear локально?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #25 : 05 Марта 2004, 15:02:11 »
напиши тако код:

error_reporting
(E_ALL); 
ini_set(\'display_errors\', \'On\');

$conn = mysql_connect("localhost", $user,$pass) or die ("Can\'t connect to mysql");
mysql_select_db($dbname, $conn)
echo mysql_error();

выполни этот код.
Ошибки выводятся ?

насчет установки pear http://www.php4you.kiev.ua/faq/section22.html#60
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
« Ответ #26 : 05 Марта 2004, 15:11:01 »
Да нет же, у меня другие не Pear мои личные скрипты нормально подключаются к базе и  работают.
То ли из за того что Pear стоит где-то там ошибка, я пробовал протестить DB и он говорит что подключается!!!

НЕТ все таки она крутится, DB подключается к БД без ошибок!

 с этими параметрами вот толко почему то отказывается работать DB_PORTABILITY_ALL??? DB Error: unknown option portability
My_SQL ver 3.3.4 помойму
« Последнее редактирование: 05 Марта 2004, 15:38:50 от aka Pearman »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Pear
« Ответ #27 : 05 Марта 2004, 15:30:57 »
Цитировать
aka Pearman:
и он говорит что подключается с этими параметрами

чесно говоря я pear::db не очень знаю (предпочитаю adodb). Но все-таки как он говорит что подключается ?
Запрос пробовал выполнить ?
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
« Ответ #28 : 05 Марта 2004, 15:34:10 »
упс, когда писал - не видел твоих последних правок.

Посмотри что выводит:

$dsn 
DB::parseDSN("mysql://$user:$pass@localhost/$dbname");
echo 
"<pre>";
print_r($dsn);
echo 
"</pre>"
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
« Ответ #29 : 05 Марта 2004, 16:11:24 »
В общем DB работает (проверил) :

$db =& DB::connect($dsn);
$res =& $db->query("SELECT * FROM autha");
while ($row =& $res->fetchRow()) {
    $id = $row[0]; $pass=$row[1]; print ("$id,$pass");
}

, а Auth не работает с теми же параметрами, говорит что не тот $dsn

 

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