Ich mache eine einfache dynamische Website mit PHP, wo ich den Benutzer anmelden und dann auf bestimmte Seiten zugreifen. Also hier ist was ich bisher gemacht habe.bietet Login-Check, Seite Redirect auf allen Seiten in PHP
Die eingeloggten Werte werden durch $ _POST-Variablen in einem PHP-Skript übernommen, wo sie Werte aus der Datenbank für registrierte Benutzer abruft. Wenn der Benutzer gefunden wird, i wie folgt vor:
session_register('userid');
$_SESSION['userid'] = $username;//this is taken from $_POST
$_SESSION['accesslevel'] = $access;
am Anfang des PHP-Skript ich jetzt gesetzt haben session_start();
hier kommt mein Problem.
Auf jeder Seite muss ich nun überprüfen, ob der Benutzer diese Seite sehen darf oder nicht, wenn er das nicht tut muss er auf login.php umgeleitet werden, wenn er dann die Seitenladung fortsetzen muss. Jetzt
so weit, was ich gelernt habe, ist, dass nur so Werte für PHP-Seiten zu halten ist $_SESSION
Variablen zu verwenden, und die je Seite i Session-Variablen verwende muss i session_start()
auf jeder Seite als die erste Zeile schreiben, sonst i wird bekommen Header bereits gesendet Fehler ..
Seltsamerweise habe ich genau das getan, aber immer noch Fehler mit den "Header bereits gesendet".
SO Ich will, was ist der beste Weg, um eine Website zu entwerfen, wobei i Session-Variablen in den meisten der Seiten, und halten diese gemeinsamen Kontrollen an einem gemeinsamen Ort verwenden müssen ..
- Can i Verwenden Sie include() Feature einige wie?
- Sind Sitzungen nur eine Möglichkeit, Daten über PHP-Seiten zu kommunizieren.
- Was ist ein besserer Weg?
Ich habe den folgenden Code:.
<?php
session_start();
if(!isset($_SESSION['user']))
{
$_SESSION['loc'] = "adminhome.php";
header("location:ettschoollogin.php");
exit();
}
?>
die oben auf jeder Seite befindet, die überprüfen möchte, ob der Benutzer angemeldet hat
Und das ist teh Skript für die Anmeldung zu überprüfen
Ich war der allgemeine Fehler von zusätzlichen Leerzeichen nach "?>" Bewusst, ABER ICH NOCH NOCH ERHALTEN.
Danke Jungs, ich verpasste es und die "connection.php" -Datei hatte tatsächlich zusätzliche Leerzeichen nach "?>" Ich hatte es zuvor entfernt, aber einige, wie die Datei neu geschrieben wurde. Vielen Dank.
Es ist nichts falsch. Bist du sicher, dass es nicht mit leeren Zeilen oben beginnt? Sie haben vorher noch nichts HTML gesendet? Wenn nicht, müssen Sie noch etwas anderes einbeziehen, das verhindert, dass dies funktioniert, daher ist der session_start nicht die erste Anweisung, die etwas ausgibt. Vielleicht einige Fehlermeldungen? – Palantir