Cookie Problem

badi

Mitglied
Ich habe ein Loginscript nach einem Tutorial von Workaholic geschrieben. Dieses wird in eine Navileiste includet ud der code sieht folgendermaßen aus:

PHP:
<?php 
connectionid = mysql_connect ("host", "account", "pw"); 
if (!mysql_select_db ("datenbank", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
         "Id, Nickname ". 
       "FROM ". 
         "benutzerdaten ". 
       "WHERE ". 
         "(Nickname like '$name') AND ". 
         "(Kennwort = '".md5 ($pwd)."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $user_id = $data["Id"]; 
  $user_nickname = $data["Nickname"]; 
  
  setcookie ("dpl-clan", $user_nickname, time()+60*60*24*30);
    
  session_register("user_id", "user_nickname"); 

  header ("Location: http://www.dpl-clan.de/intern.php"); 
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
} 
?>

In dem Loginscript habe ich ein Cookie eingebaut. Dieses Cookie sollte eigentlich bezwecken das Leute die meine Seite dpl-clan.de besuchen und schonmal eineglogt waren automatisch wieder eingelogt sind und auf dpl-clan.de/intern.php landen wenn sie dpl-clan.de eingeben.

Nun das Problem: Das Cookie wird auf meinem PC gespeichert wenn ich mich mal eingelogt habe. Dies sehe ich in meinem Windoof ordner unte Cookies. Doch was muss ich nun auf meiner index.php seite ganz oben hinschreiben damit auf das cookie zugegriffen wird? Hab ganzen Tag gesucht und das einzige was ich hinbekommenhabe war das cookie zu setzen. Aber selbst da weiß ich nicht ob ich da alles richtig gemacht habe.

Ist das überhaupt möglich so wie ich es mir vorstelle?

Antworten zum Thema wären cool.

PS: Ich weiß das ich die cookie abfrage als erstes noch vor <html><head> einbauen muss. Soweit kam ich mit meinem suchen heute schon.


CU Badi
 
$HTTP_COOKIE_VARS['namederVariablen'] oder $_COOKIE['namederVariablen'] .. kommt drauf an wie aktuell deine PHP-Version ist...im Zweifelsfall die erste Variante :)
 
Hmm also mit Name der Variablen meinteste wohl den Cookienamen. Dieser ist dpl-clan.

Wenn ich das nun so einfüge:

<?PHP
$HTTP_COOKIE_VARS['dpl-clan']
?>

Da fehlt doch noch der Befehl wohin dann geleitet wird wen der cookie gesetzt wird oder? Denn es kommt eine Fehlermeldung das was falsch sei.
 
HI,

würdest du uns noch verraten welche Fehlermeldung du bekommst? Vielleicht so etwas?

Warning: Cannot send session cookie - headers already sent ...

Wenn ja, dann lies bitte


das hier. Ansonsten um auf deine Frage einzugehen, musst du natürlich am Anfang deines Scriptes prüfen ob ein Cookie existiert.

PHP:
if(!$_COOKIE['dpl-clan'])  {
//mach was
}
else {
echo"<font color='#000000'>Herzlich Willkommen <b>".$_COOKIE['dpl-clan']."</b></font>";
}
 
Oki das hat mir bissel weitergeholfen Medicus. Habe nun folgednes im Kopf der index.php stehen um zu sehen ob das Cookie richtig gesetzt ist:

PHP:
<?php
if($HTTP_COOKIE_VARS['dpl-clan'])  
{
echo "cookie existiert";
}
else 
{
echo "kein cookie";
}

Nur leider muss ich nun feststellen das irgendwie das Cookie nicht richtig gesetzt worden ist. Wenn ich nämlich die Cookies alle lösche steht ganz oben auf der Seite trotzdem Cookie gesetzt.:(
 
Original geschrieben von badi
Oki das hat mir bissel weitergeholfen Medicus. Habe nun folgednes im Kopf der index.php stehen um zu sehen ob das Cookie richtig gesetzt ist:

PHP:
<?php
if($HTTP_COOKIE_VARS['dpl-clan'])  
{
echo "cookie existiert";
}
else 
{
echo "kein cookie";
}


Nur leider muss ich nun feststellen das irgendwie das Cookie nicht richtig gesetzt worden ist. Wenn ich nämlich die Cookies alle lösche steht ganz oben auf der Seite trotzdem Cookie gesetzt.:(

schreib mal so:
PHP:
if(!isset($_COOKIE['dpl-clan'])) {$_COOKIE['dpl-clan'] = "";
echo "kein cookie";
}
else
{
echo "cookie gesetzt";
}
 
Zurück