Thread Verfasser: John Doe
Thread ID: 216
Thread Info
Es gibt 4 Beiträge zu diesem Thema, und es wurde 4767 Mal angesehen.
 Thema drucken
Passwort vergessen! PHP-ERROR
John Doe
Hallo,

ich habe Probleme mit der Passwort vergessen Seite. (lostpassword.php)

Sobald ich auf den Link klicke wirft mein Webserver einen PHP Error:
Error! [02-May-2014 09:48:08 Europe/Berlin] PHP Fatal error: Class 'LostPassword' not found in /home/cwclan/html/dev/lostpassword.php on line 33


Meine lostpassword.php und die dazugehörige LostPassword.class.php wurden von mir nicht verändert, nichts desto trotz ersetzte ich diese noch einmal mit den original Dateien aus dem PHP-Fusion Master Repo.

Ergebnis war die gleiche Fehlermeldung.

Nach langem hin und her, konnte ich den Fehler beseitigen in dem ich die lostpasswort.php wie folgt änderte!

ALT/ORIGINAL:
Code
require_once "maincore.php";
require_once THEMES."templates/header.php";
require_once INCLUDES."sendmail_include.php";
include LOCALE.LOCALESET."lostpassword.php";

if (iMEMBER) redirect("index.php");

function __autoload($class) {
  require CLASSES.$class.".class.php";
  if (!class_exists($class)) { die("Class not found"); }
}

add_to_title($locale['global_200'].$locale['400']);
opentable($locale['400']);

$obj = new LostPassword();
if (isset($_GET['user_email']) && isset($_GET['account'])) {
   $obj->checkPasswordRequest($_GET['user_email'], $_GET['account']);
   $obj->displayOutput();
} elseif (isset($_POST['send_password'])) {
   $obj->sendPasswordRequest($_POST['email']);
   $obj->displayOutput();
} else {
   $obj->renderInputForm();
   $obj->displayOutput();
}

closetable();

require_once THEMES."templates/footer.php";


NEU:
Code
require_once "maincore.php";
require_once THEMES."templates/header.php";
require_once INCLUDES."sendmail_include.php";
include LOCALE.LOCALESET."lostpassword.php";

if (iMEMBER) redirect("index.php");

require_once CLASSES."PasswordAuth.class.php";
require_once CLASSES."LostPassword.class.php";

add_to_title($locale['global_200'].$locale['400']);
opentable($locale['400']);

$obj = new LostPassword;
if (isset($_GET['user_email']) && isset($_GET['account'])) {
   $obj->checkPasswordRequest($_GET['user_email'], $_GET['account']);
   $obj->displayOutput();
} elseif (isset($_POST['send_password'])) {
   $obj->sendPasswordRequest($_POST['email']);
   $obj->displayOutput();
} else {
   $obj->renderInputForm();
   $obj->displayOutput();
}

closetable();

require_once THEMES."templates/footer.php";


Könnte mir jemand helfen warum die original Datei nicht läuft? Kann es am Lighttpd liegen?

Danke
 
Dat Tunes
Es sind 2 Zeilen mehr in deiner neuen Datei enthalten.

Code
require_once CLASSES."PasswordAuth.class.php";
require_once CLASSES."LostPassword.class.php";


Ohne die Classen konnte es auch nicht funktionieren.
Das Problem ist nicht das Problem, das Problem ist der Nutzer, der das Problem verursacht.
Was lernen wir ?
Wir entfernen einfach den Nutzer und das Problem ist gelöst !

Sollte das Problem nicht gelöst sein, WD40! WD40 hilft immer !
 
John Doe
Ja, die habe ja auch ich dazu gepackt...

Nun ist die Frage warum sind diese nicht bei den Original PHP-Fusion Dateien enthalten!?
 
Dat Tunes
Warum, keine Ahnung Wink
Würde einfach mal sagen, wurde vergessen.
Das Problem ist nicht das Problem, das Problem ist der Nutzer, der das Problem verursacht.
Was lernen wir ?
Wir entfernen einfach den Nutzer und das Problem ist gelöst !

Sollte das Problem nicht gelöst sein, WD40! WD40 hilft immer !
 
Springe ins Forum: