Problem mit cookie!

dennis2412

Gesperrt
Ich hab mal wieder ein Problem dieses Mal mit cookies!
Ich hab folgendes geschrieben:
PHP:
//connect 2 mysql 
mysql_connect($host,$user,$password) or die ('Konnte keine Verbindung zum Server herstellen'); 
mysql_select_db($dbname) or die ('Konnte Datenbank nicht auswählen'); 
 
 
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "0") { echo "Entweder du hast dich nicht aktiviert oder garnicht erst angemeldet"; }  
else  
{ 
session_start(); 
$_SESSION['nick'] = $_POST['nick']; 
$_SESSION ['passwort'] = $_POST['passwort'];
header("Location: http://www.fwl2003.de/memberscript/index.php?nick=$nick&passwort=$passwort"); }   
}  

 
?>

Und wenn ich dann darein gehe kommt folgender Fehler:
Warning: Cannot send session cookie - headers already sent by (output started at /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php:10) in /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php on line 32

Warning: Cannot send session cache limiter - headers already sent (output started at /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php:10) in /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php on line 32

Warning: Cannot add header information - headers already sent by (output started at /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php:10) in /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php on line 35

Woran liegt das jetzt schon wieder?
 
also der Fehler sagt, daß Du in Zeile 32 (bzw. 35) versuchst, ein Cookie zu setzen, aber in Zeile 10 wurde schon eine Ausgabe (also z.B. ein echo) gemacht.

Cookies müssen immer vor allen anderen Ausgaben gesetzt werden !!!


Dunsti
 
Jetzt habe ich es so geschrieben:
PHP:
<HTML>
<HEAD>
<TITLE>page</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/fwl.css">
</HEAD>
<BODY BGCOLOR=#990000 LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<font color="#FFFFFF" face="verdana" size="2">
</html>
<?



//connect 2 mysql 
mysql_connect($host,$user,$password) or die ('Konnte keine Verbindung zum Server herstellen'); 
mysql_select_db($dbname) or die ('Konnte Datenbank nicht auswählen'); 
 
 
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "1") { 
session_start(); 
$_SESSION['nick'] = $_POST['nick']; 
$_SESSION ['passwort'] = $_POST['passwort'];
header("Location: http://www.fwl2003.de/memberscript/index.php?nick=$nick&passwort=$passwort"); 
}  
else  
{ 
echo "Entweder du hast dich nicht aktiviert oder garnicht erst angemeldet";  }   
}  

 
?>

Aber trotzdem kommen noch die Fehler!!
 
session_start(); muss ganz oben stehen also so


PHP:
<? session_start(); ?>
<HTML>
<HEAD>
<TITLE>page</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/fwl.css">
</HEAD>
<BODY BGCOLOR=#990000 LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<font color="#FFFFFF" face="verdana" size="2">
</html>
<?



//connect 2 mysql 
mysql_connect($host,$user,$password) or die ('Konnte keine Verbindung zum Server herstellen'); 
mysql_select_db($dbname) or die ('Konnte Datenbank nicht auswählen'); 
 
 
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "1") { 
$_SESSION['nick'] = $_POST['nick']; 
$_SESSION ['passwort'] = $_POST['passwort'];
header("Location: http://www.fwl2003.de/memberscript/index.php?nick=$nick&passwort=$passwort"); 
}  
else  
{ 
echo "Entweder du hast dich nicht aktiviert oder garnicht erst angemeldet";  }   
}  

 
?>
ich hoffe es lag dran :)
 
So das klappt jetzt, aber noch 2 weiter Fragen!
Ist es möglich, dass wenn man eingeloggt ist sich kein neues fenster öffnet, sondern das die seite im geöffneten Fenster aufgerufen wird?
Und 2. kann ich das irgendwie einstellen, dass der cookie beim verlassen der seite gelöscht wird?
Weil wenn ich das fenster schließe und mich dann nochmal einlogge, dann kommt ne fehlermeldung!!
 
also das mit der seite geht mit include("deineseite.html");
und das mit dem ausloggen geht mittels cookies und lifetime 0
setcookie("dername", "derwert", 0);
d.h. es wird solange der wert gespeichert bis du das browserfenster schließt.
hoff mal nichst falsches gesagt zu haben
 
Also das mit der 0 versteh ich nicht so ganz!!
Aber wenn ich schreibe include"test.php"; wird die auch ein einem neuen Fenster geöffnet!!
 
also wenn du statt dem header befehl inlude("index.php") nimmst sollte sich da kein neues fenster öffnen
mehr zu cokies gibts hier
 
Zurück