Session funktionirt Cookie aber nicht.

  • Themenstarter Themenstarter ByeBye 152404
  • Beginndatum Beginndatum
B

ByeBye 152404

Hallo alle zusammen, ich habe mal wieder ein header Problem.

Es geht um die Logout Funktion eines Login Scripts.
Wen kein Cookie gesetzt ist killt er ganz normal die Session wen aber ein Cookie gesetzt ist löscht bzw. überschreibt er diesen nicht. Ich weiss ehrlichgesagt nicht warum das nicht geht.

Der Code:
PHP:
if(isset($_COOKIE['user_id']))
{
  $killcookie_id = $_COOKIE['user_id'];
  setcookie("user_id", $killcookie_id, time() - 60*60*24*7*4);
} else {
  session_start();
  session_destroy ();
}

include("inc/func/redir.php");
redirect('index.php?site=news', '<center>Sie haben sich erfolfreich ausgeloggt<br />Sie werden Weitergeleitet.</center>');

Fehler:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\login\index.php:7) in C:\Program Files\xampp\htdocs\login\logout.php on line 6

Danke schonmal für die Hilfe.
 
Zuletzt bearbeitet von einem Moderator:
Diese Thematik wurde bereits ausreichend behandelt. Such mal nach den Schlüsselwörtern der Fehlermeldung.
 
Als hätte ich mir nicht voher die anderen Threads angesehen.
Leider bringt mich das hier nicht weiter ob_start();, etc. kannse knicken und ich versteh enicht warum es mit der Session geht aber nicht mit dem Cookie, es ist ja immer die gleiche ausführende Datei und es wird auch gleich aufgerufen.
 
Probier doch mal Folgendes:
PHP:
<?php

	session_start();
	session_destroy();
	if( isset($_COOKIE['user_id']) ) {
		setcookie('user_id', $_COOKIE['user_id'], 0);
	}

	include 'inc/func/redir.php';
	redirect('index.php?site=news', '<center>Sie haben sich erfolfreich ausgeloggt<br />Sie werden Weitergeleitet.</center>');

?>
 
In der Fehlermeldung wird der Ort des Fehlerauftritts doch genau genannt. Hilft dir das nicht weiter die Ursache herauszufinden?
 
Nein leiderr nicht, habe nun schon alles durchgeschaut aber ich verstehe nicht woran es liegt.
 
K4ZUY4 hat gesagt.:
Nein leiderr nicht, habe nun schon alles durchgeschaut aber ich verstehe nicht woran es liegt.


Code:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\login\index.php:7) in C:\Program Files\xampp\htdocs\login\logout.php on line 6

Was steht in index.php in zeile 7?
Bitte mal die index.php posten.

Das reicht schon wenn da ein leerzeichen ausgegeben wird...

Marcus
 
Das in der Index.php schon foher was ausgegben wird ist mir kla, aber warum kann ich es nicht über ob_start(); steuern?

Habe es ein Wenig abgeändert. In Reihe 10 ist nun der Fehler.

index.php
HTML:
<?php session_start(); ?>
<!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-Type" content="text/html; charset=iso-8859-1" />
<title>Lan Manager 1.0</title>
<link rel="stylesheet" href="inc/css/page.css" type="text/css">
</head>
<body><center>
<table width="905" border="0" cellpadding="0" cellspacing="0">  // Hier ist der Fehler
  <tr>
    <td height="80" colspan="5" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
...
 
Zurück