Wieso Fatal error Class Auth not found?
Hallo,
ich möchte mit PHP ein LoginScript machen, welches prüft ob die Anmeldedaten im LDAP korrekt sind.
Dazu habe ich mir ein Script aus meinem PHP Buch angeguckt, doch bekomme dabei den Fehler: Fatal error: Class 'Auth' not found
Ich benutze Xampp und habe dann mal geguckt und unter php\PEAR\Auth ist Auth schon vorhanden.
Ich muss ehrlich zugeben, dass ich nicht weiss, ob ich Auth nun woanders einfügen muss oder nicht. (Habe noch nie eine Applikation eingefügt,..)
Hier mein Script
Hier die Fehlermeldung:
Fatal error: Class 'Auth' not found in D:\xampp\xampp\htdocs\hondax\hx_wcms\index.php on line 31
Zeile 31:
Bitte um Hilfe,.. Danke
ich möchte mit PHP ein LoginScript machen, welches prüft ob die Anmeldedaten im LDAP korrekt sind.
Dazu habe ich mir ein Script aus meinem PHP Buch angeguckt, doch bekomme dabei den Fehler: Fatal error: Class 'Auth' not found
Ich benutze Xampp und habe dann mal geguckt und unter php\PEAR\Auth ist Auth schon vorhanden.
Ich muss ehrlich zugeben, dass ich nicht weiss, ob ich Auth nun woanders einfügen muss oder nicht. (Habe noch nie eine Applikation eingefügt,..)
Hier mein Script
$options = array('host' => '172.**.**.*,
'port' => '389',
'base' => 'o=Hondax,
'userattr' => 'uid');
$auth = new Auth('LDAP', $options);
function pc_auth_ldap_sigin(){
print<<<_HTML_
<table><tr>
<td class="$textclass">
<form action="$_SERVER[PHP_SELF]" method="POST">
Benutzername:</td>
<td><input type="text" name="username"></td></tr>
<tr><td class="$textclass">Passwort:</td>
<td><input type="password" name="password"></td></tr>
<tr><td></td><td><br><input type="submit" value="login" name="submit"></td></tr>
</form></table>
_HTML_;
}
$auth = new Auth('LDAP', $options, 'pc_auth_ldap_sigin');
$auth->start();
if ($auth->getAuth()){
// Inhalt, wenn eingeloggt ist...
} else {
// Inhalt für anonyme Benutzer...
}
Hier die Fehlermeldung:
Fatal error: Class 'Auth' not found in D:\xampp\xampp\htdocs\hondax\hx_wcms\index.php on line 31
Zeile 31:
$auth = new Auth('LDAP', $options);
Bitte um Hilfe,.. Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170791
Url: https://administrator.de/contentid/170791
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
8 Kommentare
Neuester Kommentar
für den Export nach Excel, sieht das Paket zB so aus:
und in der Klasse selbst sieht der Anfang dann so aus:
Also iwie müssen die schon miteinander verbunden werden.
Ist wie bei Frauen ^^
Midi
include 'Spreadsheet/Excel/Writer.php';
$excel = new Spreadsheet_Excel_Writer();
$excel->send('framework.plattform.'.$kunde.clearfunctionname($para['show']).'.xls');
$sheet =& $excel->addWorksheet(clearfunctionname($para['show']));
und in der Klasse selbst sieht der Anfang dann so aus:
$dateipfad = $_SERVER['DOCUMENT_ROOT']."/".SUBSTR(SUBSTR($_SERVER['SCRIPT_NAME'],1,strlen($_SERVER['SCRIPT_NAME'])),0,(strpos(SUBSTR($_SERVER['SCRIPT_NAME'],1,strlen($_SERVER['SCRIPT_NAME'])), "/")+0));
if(strrpos($dateipfad, "/") != (strlen($dateipfad)-1))
$dateipfad .= "/";
require_once 'PEAR.php';
require_once $dateipfad.'/Spreadsheet/Excel/Writer/Workbook.php';
Also iwie müssen die schon miteinander verbunden werden.
Ist wie bei Frauen ^^
Midi
Gehe ich richtig in der Annahme, dass du eine PHP Version >= 5.3 nutzt? Falls ja hast du hier deinen "Fehler". Es gibt leider noch viele der Pear Pakete welche für PHP4 geschrieben wurden und noch nicht in dem Maße an PHP 5.3 angepasst wurden, so dass keine Deprecated und Strict Warnings mehr ausgegeben werden.
Die Deprecated Warnings weisen auf Verwendung einer Funktion oder Schreibweise hin, welche als Veraltet angesehen wird und in einer der nächsten PHP-Versionen entfernt wird. Die Strict Warnings dagegen weisen auf gewisse Dinge hin, welche für einen Sauberen Wartbaren Quellcode vermieden werden sollen. HIerzu gehört z.B. eine Redefinition einer Funktion in einer Abgeleiteten Klasse welche eine andere Parameterliste besitzt.
Es sind keine Fehlermeldungen welche jetzt nicht dafür sorgen, dass deine Anwendung nicht läuft, allerdings kann es zu Problemen mit Updates auf eine neue PHP-Version geben. Daher kannst du die Fehlermeldungen im Betrieb mit der Funktion "error_reporting" ausblenden. Behalte dies aber immer im Hinterkopf.
Zum Abschluss noch: Für die Strict-Warning gibt es für die Klasse "Auth_Container_File" (Bei dir ist es die "Auth_Container_LDAP") bereits einen Bug-Report: http://pear.php.net/bugs/bug.php?id=17284
Die Deprecated Warnings weisen auf Verwendung einer Funktion oder Schreibweise hin, welche als Veraltet angesehen wird und in einer der nächsten PHP-Versionen entfernt wird. Die Strict Warnings dagegen weisen auf gewisse Dinge hin, welche für einen Sauberen Wartbaren Quellcode vermieden werden sollen. HIerzu gehört z.B. eine Redefinition einer Funktion in einer Abgeleiteten Klasse welche eine andere Parameterliste besitzt.
Es sind keine Fehlermeldungen welche jetzt nicht dafür sorgen, dass deine Anwendung nicht läuft, allerdings kann es zu Problemen mit Updates auf eine neue PHP-Version geben. Daher kannst du die Fehlermeldungen im Betrieb mit der Funktion "error_reporting" ausblenden. Behalte dies aber immer im Hinterkopf.
Zum Abschluss noch: Für die Strict-Warning gibt es für die Klasse "Auth_Container_File" (Bei dir ist es die "Auth_Container_LDAP") bereits einen Bug-Report: http://pear.php.net/bugs/bug.php?id=17284