logout mit sessions

kris1989

Grünschnabel
Hallo Ich habe rießige Probleme mit meiner Logout.php

PHP:
session_start(); 
session_destroy();
header('Location: http://.../login.php');

Es erscheinen folgende Fehlermeldungen!

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Cannot modify header information - headers already sent by


Der User soll ausgelogt werden, nachdem die Daten des Formulars erfolgreich gespeichert wurden, vielleicht hat es auch etwas mit dem Formuar zu tun
Ich hoffe ihr könnt mir helfen. Vielen Dank im Voraus
 
Zuletzt bearbeitet:
Ich danke euch für die Antworten, das habe ich mir alles schon durchgelesen,nur leider finde ich für mein Problem keine Lösung.
Kann es sein das die ganze Session durch meinn formular zerstört wird?
 
Dann zeig doch bitte das ganze Skript.

Stelle sicher, dass keine Leerzeichen vor Beginn des PHP Teils sind.
 
Sollte keinerlei Ausgaben zu finden sein, öffne die Datei mit einem Hexeditor und sieh nach, ob sich ein sogenanntes BOM am Anfang befindet.
 
mit:
Code:
session_start();
if($logout == 1){
   session_unset();
   session_destroy();
}

Sollte es eigentlich funktionieren.

Mit dem header. Ich habe bisher immer die kleine Abfrage auf der Zielseite eingebaut und mit der $_GET["variabel"] abgerufen. Hatte da bisher keine Probleme mit.

Vl. hilft es ja...
 
PHP:
session_start();
if($logout == 1){
   session_unset();
   session_destroy();
}

Wo genau wird $logout definiert? Wo kommt das her? Meine Vermutung lautet, das es eigentlich einen Fehler gibt, oder ein Warning, was zu einer Ausgabe führt.
 
Da leider alle bisherigen Antworten nicht zum Erfolg geführt haben, werde ich hier jetzt den Verlauf meiner Session notieren:

in der login.php erzeuge ich die session :

PHP:
session_start();
und weiße der session beim erfolgreichen login den user zu

PHP:
$_SESSION['last_name'] = $last_name;

in der nächsten datei mache ich eigenltich nichts mit sessions diese sieht wie folgt aus:

PHP:
$table_name = "";

$link = mysql_connect($host, $user, $pw);
if (!$link) {
	die('Verbindung nicht möglich : ' . mysql_error());
}

$db = mysql_select_db($datenbank, $link);
if (!$db) {
	die('Kann ' . $datenbank . ' nicht benutzen : ' . mysql_error());
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Language" content="de" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title></title>
</head>

<body >

<? if(!isset($_POST['submit']))  { ?> 

<table style="width: 100%; height: 125px" >
	<tr>

		<td class="style1"><strong>Eintrag in das Arbeitsamt f&uuml;r 
		Deutschsprechende </strong></td>
	</tr>
</table>

<form method="post" style="height: 602px" action="anmeldung.php" > 

	......
  <input type="submit" name="submit" value ="Senden">
 
</form>


<?
}
.....
   else{
      
	....

	logout.php

	  }?>
alle Teile mit ... habe ich für diesen Beitrag gelöscht

in der Logout.php steht immer noch das gleiche

PHP:
session_start(); 
session_destroy();
header('Location: http://.../login.php');

Die Fehlermeldung mit dem header konnte ich lösen, aber leider nicht das Session Problem vielleicht hat jetzt jemand eine Idee an was es liegen könnte.

Ich danke euch schonmal im Voraus für eure Bemühungen
 
Um eine Session zu implementieren, muss auf jeder Seite, die aufgerufen wird, mindestens ein session_start(); stehen. Am besten macht man das über ein include.

Sonst geht die Session wieder verloren.
 
Zurück