URL: https://www.overclockers.at/coding-stuff/phpscript_geht_nimma_67155/page_1 - zur Vollversion wechseln!
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'.
ist ein fehler in den php einstellungen des servers, hatte ich bei meinem provider auch mal...
am besten dort anrufen und a bissl meckern...
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 ?
kannst ma mal die phpinfo ausgabe schicken oder an link geben?
vorübergehend hier: http://www.theredguy.org/phpinfo.php
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.
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.
mit $HTTP_POST_VARS['tUser'] gehts ?
Nein nein, ich meinte, $tUser funktioniert bei der PHP Version sowieso nicht.
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.
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.
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;
}
?>
Zitat von The Red GuyDu 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.
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...
Zitat von PhilippVerwendest 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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025