Hallo Uhfe,
Da dort nur php 4 enthalten war habe ich auf php5 upgedatet. Hat auch -mit ein wenig Aufwand- funktioniert.
Jetzt habe ich aber ein Problem mit Scripten, die auf dem alten Server einwandfrei laufen (Apache 1.3, php 4)
Soweit so klar? Wenn $ldapuser nicht existiert wird ein Formular angezeigt, wo ldapuser und pass gefüllt werden und per Submit wird das selbe Script wieder ausgeführt und der if-Zweig wird ausgeführt (bzw. sollte ausgeführt werden) Aber genau das tut er nicht. Es wird immer wieder das Formular angezeigt. Wenn ich vor der If-Abfrage $ldapuser und $pass fest vercode funktioniert es einwandfrei.
Habe ich in der PHP oder Apache Konfiguration noch einen Fehler?
Es liegt mit an Sicherheit grenzender Wahrscheinlichkeit daran, daß
register_globals auf off gesetzt ist.
Bis PHP 4x war register_globals standardmässig auf on.
Du hast nun 2 Möglichkeiten:
- Alle Skripte umschreiben, damit sie auch unter register_globals off laufen.
z.B.
$ldapuser = $_REQUEST['ldapuser'];
Bzw. anstelle von $_REQUEST $_GET bzw. $_POST.
Und das für _alle_ per GET oder POST übergebenen Variablen in allen Skripten.
- In der php.ini (oder auch .htaccess) register_globals auf on stzen. Weniger empfehlenswert, aber als Interimslösung durchaus vertretbar.
Grüsse
Frankie