PHP und session_start();

Zero2000

Erfahrenes Mitglied
Hallo

Ich habe da ein kleines Verständnissproblem.
Ich habe eine Internetseite. Das ist die index.php. In der sind mit include("xxxx.php");
die Seiten includiert die in der Index angezeigt werden sollen.
Ich habe einen geschützten Bereich der mit session_start(); beginnt.
Nun meine Frage: reicht das wenn ich in der Index.php schreibe oder sollte ich das für jede Seite machen die in dem geschützten Bereich liegt

Danke und MfG Maik
 
Ich behaupte mal, dass es in der index.php reicht und Du es nicht in jedem File das Du includest machen musst.
Soweit ich das mit dem includen versteh ist das im Grunde genommen das gleiche als wuerdest Du den ganzen Quatsch der copy&paste an der Stelle wo das include steht hinpacken. Dementsprechend braucht in der includeten Datei keine neue Datenbankverbindung aufgebaut werden und dann wohl auch keine Session gestartet werden.
Klingt logisch, ist's vielleicht sogar. :)
By the way, man kann schon lustige Worte erzeugen wenn man include ganz normal als deutsches Wort behandelt. :)
 
Denk auch das man den includeten Dateien kein Session_start() mehr geben muss
weil man in der index.php schon eine session startet.
Man muss aber in jede Datei eine Kontrolle einbauen ob eine Session existiert.
Sonst kann jeder User die Dateien direkt aufrufen, damit wäre der sinn verschwunden. :)

mfg
 
Danke für eure Antworten.
Würde dann folgender Code reichen um zu überprüfen ob eine Session existiert?
PHP:
<?php
if(!session_is_registered('user') || $_SESSION['user'] == "") {
	header("location:index.php");
	die;
}
?>
Oder geht das einfacher oder anderst

MfG Maik
 
Ich mach das immer so:

PHP:
if(isset($_SESSION['name'])) {
	echo "Ok, Session exisitiert.<br />"; }
else { echo "Session exisitiert nicht!<br />"; }

Und ausloggen so:

PHP:
if($_REQUEST['logout']) {
	Session_destroy(); }

mfg
 
Ausloggen tu' ich mich immer mit:
PHP:
<?php
$user = $_SESSION['user'];
if(session_destroy()) {
	echo '<p align="center">Sie haben sich erfolgeich ausgeloggt!<br><br><a href="index.php">Zur Anmeldung</a></p>';
}else{
	echo '<p align="center">Beim Abmelden trat leider ein Fehler auf!<br><br>Bitte schliessen Sie dieses Browserfenster.';
}
?>
Sind Sessions eigentlich Ordnerübergreifend?
Also wenn ich von einem Ordner in einen anderen verlinke.
Denken würde ich ja solange es eine gültige SessionID gibt. aber bleibt diese bestehen bei Ordnerwechsel

MfG Maik
 
Glaube nicht das sessions direkt was mit den Ordnern zu tun haben.
Es muss halt immer eine Kontrolle vorhanden sein in der neuen Datei ob Session blahbla
registriert ist oder existiert.
 
Zurück