Pear Auth() und MDB2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Pear Auth() und MDB2

    Hallo,

    ich möchte Pear Auth mit MDB2 verwenden, habe die Pakete und den MySQL Driver installiert, bekomme jedoch jedesmal die Meldung:

    PHP-Code:
    main(Auth/Container.php): failed to open stream
    und

    PHP-Code:
    Fatal errormain(): Failed opening required 'Auth/Container.php' 
    Der Datenbankzugriff mit MDB2 funktioniert bereits, aber bei dem Login kommt immer die o. g. Fehlermeldung.


    Hier ein Ausschnitt aus dem Script...
    PHP-Code:
    // PEAR PAKETE
    require_once(DIR_WS_PEAR 'MDB2.php');
    require_once(
    DIR_WS_PEAR 'Auth.php');
    #require_once(DIR_WS_PEAR . 'PEAR.php');

    $dsn = array(
        
    'phptype' => PHPTYPE,
        
    'dbsyntax' => DBSYNTAX,
        
    'username' => USERNAME,
        
    'password' => PASSWORD,
        
    'protocol' => PROTOCOL,
        
    'hostspec' => HOSTSPEC,
        
    'port' => PORT,
        
    'socket' => SOCKET,
        
    'database' => DATABASE
    );

    // $db = DB::connect($dsn);
    $db =& MDB2::singleton($dsn); 

    // $db->setOption('portability',
    //    DB_PORTABILITY_LOWERCASE
    // );

    if(true == PEAR::isError($db)) {
        die(
    $db->getMessage());
    }

    function 
    ErrorReport($result
    {
        if(
    true == PEAR::isError($result)) {
                die(
    $result->getMessage());
        }    
    }

    $db->setFetchMode(MDB2_FETCHMODE_ASSOC); 

    $smarty = new Smarty_OnlineShop();

    // Login
    function login()
    {
        
    $login "
        <form action=\"" 
    $_SERVER['PHP_SELF'] . "\" method=\"post\">
        Login:<br>
        <input type=\"text\" name=\"username\"><br>
        Passwort:<br>
        <input type=\"password\" name=\"password\"><br>
        <input type=\"submit\" value=\"Login\">
        </form>
        "
    ;

        
    $smarty->assign('login'$login);
    }

    $my_auth = new Auth('MDB2'$dsn"login");

    $my_auth->start();

    if(
    true === $my_auth->getAuth()) {
            print 
    "Sie sind drin";

    » http://www.htaccess-generator.com

  • #2
    Cool, das habe ich nun gelöst bekommen... habe den Include-Path gesetzt und jetzt funzt es...

    Habe jetzt aber noch ne kleine Frage...
    --------------------------------------------------
    Ein Parameter für den Aufruf vom Pear-Paket Auth ist ja für die Login Funktion. Ich habe nun das Problem das ich Smarty verwende und die Ausgabe des Formulars an Smarty, also ein externe Template übergeben möchte/ muss.
    Wie kann ich den die Instanz von der Klasse $smarty an die Funktion übergeben, sodass ich da $smarty->assign(etc.... verwenden kann?
    » http://www.htaccess-generator.com

    Kommentar


    • #3
      keiner eine Antwort...
      » http://www.htaccess-generator.com

      Kommentar


      • #4
        jetzt habe ich es mal zum teil hinbekommen... allerdings kommt jetzt immer "wrong data" beim login, obwohl die daten stimmen. ich habe eine tabelle auth mit username und password als tabelle und folgenden code:

        PHP-Code:
        $my_auth = new Auth('MDB2'$db''true);

        $my_auth->start();

        if(
        true===$my_auth->getAuth()) {
                print 
        "Sie sind drin";

        $db wird abgeleitet von:

        PHP-Code:
        $db =& MDB2::singleton($dsn); 
        was läuft jetzt schon wieder schief? das passwort in der datenbank ist nicht md5 verschlüsselt, aber das muss ja auch nicht, oder?
        » http://www.htaccess-generator.com

        Kommentar

        Lädt...
        X