mit location zurück zum script

mita1982

Erfahrenes Mitglied
Moin,

bin grade dabei für die Schule ein Projekt zu machen und im Moment weiß ich nicht mehr weiter. Also als erstes sag ich mal was ich da machen will...

Ich möchte, dass die Seite von jedermann besucht werden kann. Zusätzlich soll es Memberfunktionen haben wie Bilder hochladen oder auch gegenseitg Nachrichten schiken.. oder Komentare schreiben.

Das heißt, dass es kein login Seite gibt und dann weiter geleitet wird, sondern die jeweilige Seite soll am Anfang prüfen ob $_SESSION['login_status']="true" ist. wenn ja dann includiert es ein eingelogt.php wo dann steht hallo User xyz! . Wenn es aber fals ist, dann includiert es login_include.php mit einen Formular. Das wiederum Sendet die daten an ein Hintergrundprogramm login_check.php! Von da aus soll es wieder zurück zu der Seite gehen.

Das ist mein Problem! ich habe schon versucht mit einem hidden field $_SERVER['PHP_SELF'] mitzugeben. Aber das zeigt mir dann den gesamten Pfad mit root.. also würde das nicht klappen! Ein weiteres Problem ist, dass wenn ich dann mit:
$filename=$_POST['WERT_AUS_HIDDEN_FIELD']; übernehme, es jedoch in mit
echo $filename;
anzeigen lasse, DIE SEITE LEHR IST.

Doch wenn ich es mit phpinfo(); die Variable $filename anschaue hat es den Wert.

Wie würdet ihr das Problem lösen? möglicherweise bei jeder Seite ein login_check machen und dann auf das "Hintergrundprogramm" login_check.php verzichten ? oder gibt es eine Konstante die mir zuverlässig nur den Dateinamen wiedergibt?

Hoffe ich konnte euch klar machen was mein Problem ist...
 
Zuletzt bearbeitet:
Das versteh ich nicht genau...

kannst das nochmal näher erklären

@all: gibt es keine Variable oder Konstante wie SELF_PHP die ich mit header("location:variable") reinschreibe
 
Aber [phpf]header[/phpf] möchte doch einen absoluten Pfad haben?

Schau mal hier:
PHP:
<?php
/* Redirect auf eine andere Seite im aktuell angeforderten Verzeichnis */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>

So wünscht [phpf]header[/phpf] sich den Pfad, nach HTTP 1.1 Spezifikation. ;)
 
Hi,

Das versteh ich nicht genau...

kannst das nochmal näher erklären

kein Problem. Bevor Du $_SESSION['login_status'] prüfst, fragst Du erstmal ab, ob das Login-Formular gesendet wurde. Wenn ja, inkludierst Du login_check.php. Die müsstest Du nur so umschreiben, dass sie $_SESSION['login_status'] bei Erfolg auf true setzt, statt irgendwohin umzuleiten. Fertig! :)
Ach ja, und das login-Formular darf dann natürlich nicht login_check.php aufrufen sondern einfach wieder Deine Seite selbst.

LG
 
WOW jetzt versteh ich was du meinst...

das login_check.php nicht als hintergrundprogramm sondern inkludieren...wenn bedarf da ist.. an sonsten nicht... ok... hoffe mein dozent ist damit zufrieden...

er meinte zu mir... $PHP_SELF... aber seit einer Version geht das ja nicht mehr ...

nur noch $_SERVER['PHP_SELF']...

ok wenn es anders nciht geht kann ich es ja so machen DANKE

noch ne Frage wie frage ich denn am besten ab ob ein formular geschikt worden ist?

ich könnte ja nur abfragen ob anmeldestatus true oder false ist.. oder?
 
Super Dank... werde das wohl dann so umsetzen...komisch das man nicht nur die datei filtern kann... naja Frage mich nur wie das sont in foren wie diesem hier gehnadelt wird...
da kann man ja auch aus jederseite sich anmelden...
 
Zurück