PHPScript geht nimma ?
The Red Guy 13.02.2003 - 20:55 1168 15
The Red Guy
Untitled
|
Hey Leute ! Der PHP-Dummy hat mal wieder ein Problem. Auf meiner Webseite befindet sich ein primitives Login, das User und PWD gegen eine mySQL DB prüft. Das Script hat toll funktioniert, bis am Wochenende mein "guter" Provider sprit.org Serverwartungen vorgenommen hat. Mit einem Mal sind die "submitteden" Values nicht mehr mittels PHP auslesbar. Ich vermute, dass der gute Provider ein Feature abgedreht hat. Da die "phpinfo" sehr lange ist, wollte ich fragen, auf welche Settings ich mich genau konzentrieren soll, wenn die HTTP-Post Vars nicht mehr da sind ? Generell hat wer eine Idee, warum dieser "Fehler" auftreten kann ? PS: Sonst stell ich mich ja nicht so ungeschickt beim Programmieren an, über mit PHP hab ich so meine liebe Müh'.
|
mad-mat
Addicted
|
ist ein fehler in den php einstellungen des servers, hatte ich bei meinem provider auch mal...
am besten dort anrufen und a bissl meckern...
|
The Red Guy
Untitled
|
Hab ich schon.
Hat nicht viel geholfen.
Ich würde ihnen gerne genau sagen, was falsch ist, weil dann kommens mir nicht aus. Und Serversettings kann man sich doch alle über phpinfo() ansehen oder ?
|
mad-mat
Addicted
|
kannst ma mal die phpinfo ausgabe schicken oder an link geben?
|
The Red Guy
Untitled
|
|
atrox
in fairy dust... I trust!
|
kannst du auch noch auszüge aus dem code schicken.. im phpinfo sieht alles auf den ersten blick gut aus - register_globals ist auch eingeschaltet (was ein häufiger grund für diese art von problemen ist)
zum testen kannst du dir auch mal oben in die seite ein echo $tUser."-".$tPassword; einbauen.
|
The Red Guy
Untitled
|
Das hab ich gemacht atrox. Die Vars sind leer.
Nachdem das PHP 4.0.6 ist, muss ich sie mit $HTTP_POST_VARS['tUser'] auslesen.
|
atrox
in fairy dust... I trust!
|
mit $HTTP_POST_VARS['tUser'] gehts ?
|
The Red Guy
Untitled
|
Nein nein, ich meinte, $tUser funktioniert bei der PHP Version sowieso nicht.
|
atrox
in fairy dust... I trust!
|
wenn 'register_globals' eingeschalten ist (und das ist es laut phpinfo), _sollte_ es funktionieren, oder übersehe ich da etwas ? aber teste mal echo $HTTP_POST_VARS['tUser']; obs wirklich daran liegt.
|
The Red Guy
Untitled
|
Du hast recht. Das war früher nicht aktiviert.
Ich bin mir aber nicht mehr sicher, woran es liegt. Scheinbar haut was mit den $GLOBALS nicht hin. Ich kann mich jetzt zwar einloggen, aber beim wechseln auf eine andere Seite verliert er die globalen Variablen.
|
mad-mat
Addicted
|
ok, nachdem sich der punkt mit dem einloggen erledigt hat, während ich am suchen war, zur nächsten frage:
mach ein script, das login-name und passwort (sofern laut db-abfrage korrekt) als session variable speichert. weiters ein script, das in jeder weiteren seite included ist und auf vorhandensein der session variablen checkt, sonst zurück zum login geht...
Beispiel:
<?php
//session_register("PHP_AUTH_USER"); //session_register("PHP_AUTH_PW"); //session_register("valid_user");
if (empty($valid_user) && !empty($PHP_AUTH_USER)) { $query = "select username from adminlogin where password = password(lower('$PHP_AUTH_PW')) and username = lower('$PHP_AUTH_USER') "; $result = safe_query($query); if ($result) { list($valid_user) = mysql_fetch_row($result); } } if (empty($valid_user)) { print <<<EOQ <p> Sie müssen einen gültigen Usernamen und Passwort angeben! </p> <form method=post> Username: <input type=text name="PHP_AUTH_USER" value="$PHP_AUTH_USER"> <br> Passwort: <input type=password name="PHP_AUTH_PW" value="$PHP_AUTH_PW"> <br> <input type=submit value="Einloggen!"> </form> EOQ; exit; } ?>
Bearbeitet von mad-mat am 13.02.2003, 22:27
|
Philipp
Here to stay
|
Du hast recht. Das war früher nicht aktiviert.
Ich bin mir aber nicht mehr sicher, woran es liegt. Scheinbar haut was mit den $GLOBALS nicht hin. Ich kann mich jetzt zwar einloggen, aber beim wechseln auf eine andere Seite verliert er die globalen Variablen. Verwendest du vielleicht Sessions? Ich würde ausserdem ein ernstes Wörtchen mit den Provider reden. Apache 1.3.23 PHP 4.0.6 ist schon relativ alt und hat (falls das noch die Originalinstallation ist) diverse Sicherheitlücken.
|
watchout
Legendundead
|
also, egal was die anderen gesagt haben, ohne source oder zumindest einer fehlermeldung/testversion sag ich da nix... die ausssage "geht nicht" is ja mehr als vage...
|
The Red Guy
Untitled
|
Verwendest du vielleicht Sessions?
Ich würde ausserdem ein ernstes Wörtchen mit den Provider reden. Apache 1.3.23 PHP 4.0.6 ist schon relativ alt und hat (falls das noch die Originalinstallation ist) diverse Sicherheitlücken. Yeap, tu ich. Das leidige Thema mit dem Versionsalter habe ich schon angesprochen. Ich werde heute am Abend den Source Code posten, wenn ich wieder daheim bin.
|