Hi,
ich verzweifle grad an diesen doofen (und doch so brauchbaren) Sessions in php.
Ich hatte eine funktionierende HP, die mir gehackt und zerstört wurde. Jetzt hab ich sie wieder auf Vordermann gebracht - mit Sicherheitsaspekten, die ich vorher nicht hatte.
Nur will jetzt plötzlich mein session_start(); nicht mehr.
Folgende Situation:
Ich kann mich als admin einloggen mit einem Formular und wenn ich in der Datenbank vorhanden bin, dann zeigt er mir den Admin-Bereich an.
Das Login-Verarbeitungsskript sieht u.a. so aus:
So, hier wird auch richtigerweise eine $_SESSION["login"] erzeugt. Hab ich mir anzeigen lassen.
Dann kommt eben die index.php ausm Admin-Bereich, die aufgerufen wird und die sieht dann so aus am Anfang:
danach wird ein template aufgerufen und die Daten, die hier im Skirpt erzeugt werden angezeigt. Hatte bisher immer funktioniert, bis er mir jetzt dauernd den Fehler zeigt:
Und egal, wasich tue - er kommt entweder immer wieder hervor - oder das System zeigt mir (trotz richtigem Passwort und Username) "Not allowed".
Die $_SESSION["login"]-Variable wird auch nicht im "index.php" angezeigt - sie verschwindet irgendwo im Nirvana zwischen login.php (s.o.) und index.php (das untere).
Wo liegt denn jetzt der Fehler?
Vielen dank für die Hilfe - ich verzweifle grad an diesem session-Gedönse!
liebe Grüße
ich verzweifle grad an diesen doofen (und doch so brauchbaren) Sessions in php.
Ich hatte eine funktionierende HP, die mir gehackt und zerstört wurde. Jetzt hab ich sie wieder auf Vordermann gebracht - mit Sicherheitsaspekten, die ich vorher nicht hatte.
Nur will jetzt plötzlich mein session_start(); nicht mehr.
Folgende Situation:
Ich kann mich als admin einloggen mit einem Formular und wenn ich in der Datenbank vorhanden bin, dann zeigt er mir den Admin-Bereich an.
Das Login-Verarbeitungsskript sieht u.a. so aus:
PHP:
<?
ob_start();
session_start();
session_unset(login);
session_unset(user);
session_unset(id);
session_unset(login_nr);
session_unset(last_login);
include("../inc.php");
[.....]
header("location:index.php");
ob_end_flush();?>
So, hier wird auch richtigerweise eine $_SESSION["login"] erzeugt. Hab ich mir anzeigen lassen.
Dann kommt eben die index.php ausm Admin-Bereich, die aufgerufen wird und die sieht dann so aus am Anfang:
PHP:
<?
ob_start();
session_start();
session_register(login);
if (!isset($_SESSION["login"]))
{
print "<font class=\"f_text\">Not allowed!</font><br>
<a href=\"../admin_login.php?id=0\">Go back</a>";
exit;
}
[....]
ob_end_flush();
[.....]
danach wird ein template aufgerufen und die Daten, die hier im Skirpt erzeugt werden angezeigt. Hatte bisher immer funktioniert, bis er mir jetzt dauernd den Fehler zeigt:
Code:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ....\admin\index.php:1) in ....\admin\index.php on line 4
Und egal, wasich tue - er kommt entweder immer wieder hervor - oder das System zeigt mir (trotz richtigem Passwort und Username) "Not allowed".
Die $_SESSION["login"]-Variable wird auch nicht im "index.php" angezeigt - sie verschwindet irgendwo im Nirvana zwischen login.php (s.o.) und index.php (das untere).
Wo liegt denn jetzt der Fehler?
Vielen dank für die Hilfe - ich verzweifle grad an diesem session-Gedönse!
liebe Grüße