Problem mit Cookies

Y05h1

Mitglied
Hi!

Kann es sein das cookies nicht mehr funktionieren wenn die seite von der sie abgerufen werden sollen includet wird? Wenn ich meine Seite normal öffne also http://www.domain.de/seiten/bsp.php dan funktioniert alles normal....
Wenn ich aber die seite include http://www.domain.de/index.php?seite=bsp werden die cookies nicht mehr gelesen.. habe ich beim includen etwas falsch gemacht oder ist es nicht möglich cookies von includeten seiten auszuelesen (was ich eher nicht glaube)?

Y05h1
 
Wahrscheinlich hast du da irgendwas übersehen, vllt den cookie wieder gelöscht, oder was auch immer.
Ich denke es wäre ganz nützlich mal ein paar Teile aus dem Code zu sehen (wo der cookie gesetzt wird und so...).
An dem Includen selbst wird es nicht liegen.
 
Also das ist der code:
PHP:
  <?php
  $connectionid = mysql_connect ("localhost", "Name", "Passwort");
  if (!mysql_select_db ("usr_name_1", $connectionid))
  {
    die ("Keine Verbindung zur Datenbank");
  }
  
  $sql = "SELECT ".
  	"Id , Nickname, Vorname, Nachname, Kennwort, email, Rang, ICQ ".
    "FROM ".
  	"benutzerdaten ".
    "WHERE ".
  	"(Id = '".$_COOKIE["id"]."')";
  
  	$result = mysql_query ($sql);
  	$data = mysql_fetch_array ($result);
  	$id = $data["Id"];
  	$nickname = $data["Nickname"];
  	$vorname = $data["Vorname"];
  	$nachname = $data["Nachname"];
  	$kennwort =$data["Kennwort"];
  	$email = $data["email"];
  	$rang = $data["Rang"];
  	$icq = $data["ICQ"];
  	
  echo"Sie sind als ".$nickname." angemeldet.<br>";
  ?>
Wenn ich ihn so in eine datei schreibe und die datei öffne funktioniert es...
wenn ich aber die datei include nicht mehr.
Auch wenn ich den code direkt in die index datei schreibe funktionierts nicht mehr

Y05h1
 
Hallo

Ich nehme an dein Cookie heist ID?

PHP:
if ($_COOKIE["id"]) { 
echo "cookie vorhanden"; 
} else { 
echo "Kein Cookie!"; 
}
exit;

Prüf mal ob dein Cookie da ist!

Dann würde ich dir empfehlen die Daten des Cookie zu prüfen bevor du die DB absuchst!
is_numeric()
PHP:
<?php
  $connectionid = mysql_connect ("localhost", "Name", "Passwort");
  if (!mysql_select_db ("usr_name_1", $connectionid))
  {
    die ("Keine Verbindung zur Datenbank");
  }
if ($_COOKIE["id"] && is_numeric($_COOKIE["id"])) {  //ist Cookie vorhanden, und handelt der Inhalt von einer Zahl?
  $sql = "SELECT ".
      "Id , Nickname, Vorname, Nachname, Kennwort, email, Rang, ICQ ".
    "FROM ".
      "benutzerdaten ".
    "WHERE ".
      "(Id = '".$_COOKIE["id"]."')";
  
      $result = mysql_query ($sql);
      $data = mysql_fetch_array ($result);
      $id = $data["Id"];
      $nickname = $data["Nickname"];
      $vorname = $data["Vorname"];
      $nachname = $data["Nachname"];
      $kennwort =$data["Kennwort"];
      $email = $data["email"];
      $rang = $data["Rang"];
      $icq = $data["ICQ"];
      
  echo"Sie sind als ".$nickname." angemeldet.<br>";
}
  ?>

Hast du dir mal schon überlegt, was passiert, wenn einer ein Cookie öffnet und eine beliebige ID hereinschreibt?

Poste mal den Script wo du das Cookie anlegst.
 
Zuletzt bearbeitet von einem Moderator:
Hi

erstmal danke für die antwort
Wie sollte man das machen? Also welche daten der user sollte man in dem cookie speichern?
Und das cookie ist ganz sicher da.
Wenn ich das script aufrufe ohne include oder so funktioniert es ja

Y05h1

*edit* ist es egal in welchen ordner man das cookie erstellt?
ich habe es im unterordner "seiten" erstell und das script um zum abfragen lag auch dort...
jetzt habe ich es im gliechen ordner wie die index.php datei gespeichert und aufgerufen... jetzt funktionierts

Danke
Und kann mir ncoh wer sagen welche daten man speichern sollte?

Y05h1
 
Zuletzt bearbeitet:
Zurück