Seltsames (?!?) Cookie Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Seltsames (?!?) Cookie Problem

    Hi !

    Langsam werde ich ein wenig wahnsinnig. Problem ist folgendes.
    1. Schritt : Ich habe ein Cookie in der Datei "cookie1.php" mit "setcookie("testcookie","blabla",time()+300)" gesetzt. Wenn ich nun in der Datei cookie1.php abfrage, ob es vorhanden ist, dann funktioniert das richtig.
    2. Schritt : Nun habe ich die Datei cookie2.php und dort überprüfe ich auch, ob das Cookie vorhanden ist. Funktioniert wunderbar.
    3. Schritt : Ich habe nun die Datei cookie3.php und darin steht in etwa folgender Code ...

    Code:
    <?php
    
    include("cookie3.inc.php");
    
    if (chk_cookie("testcookie"))
    {
       echo "Cookie gesetzt";
    } else {
       echo "Cookie nicht gesetzt";
    }
    
    ?>
    Und in der Datei cookie3.inc.php steht in etwa ...

    Code:
    <?php
    
    function chk_cookie($cookie_name)
    {
    
    if isset($HTTP_COOKIE_VARS[$cookie_name])
    {
       return 1;
    } else {
       return 0;
    }
    }
    
    ?>
    Nur leider funktioniert die letzte Variante nicht. WARUM zum Teufel ??? Bin für jede Hilfe dankbar.
    Das komische dabei ist auch, dass, wenn ich in der cookie3.inc.php innerhalb der Funktion chk_cookie() den Aufruf " echo " Gesetzt ? --->" . isset($HTTP_COOKIE_VARS["testcookie"]) . "<---";" mache, erhalte ich KEINE Rückgabe von der Funktion "isset". Weder 1 noch 0, sondern einfach GAR KEINE Ausgabe. Bin ich blöd oder PHP ?

    MfG

    Le_Cheffe

  • #2
    $HTTP_COOKIE_VARS ist keine Superglobal sondern lediglich eine Predefined Variable ... also muß diese innerhalb der Funktion mit "GLOBAL $HTTP_COOKIE_VARS;" verfügbar gemacht werden.

    wenn Dir isset() nichts zurückliefert dann heißt das FALSE ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      mensch leute...

      PHP-Code:
      if isset($HTTP_COOKIE_VARS[$cookie_name])... 

      die *superglobalen* arrays gibt es nun schon über ein jahr lang, langsam muss sich das doch bis zum buschstamm irgendwo in hinter-afrika rumgesprochen haben.

      du solltest die $HTTP_*_VARS als nicht mehr existent betrachten, denn das sind sie bald nicht mehr.

      die wurden in php 4.1.0 durch die *superglobalen* $_* arrays ersetzt.

      also verwendest du statt $HTTP_COOKIE_VARS[] einfach $_COOKIE[]
      martin

      Kommentar


      • #4
        ausserdem gehörn da klammern drum rum ..

        PHP-Code:
        if (isset($HTTP_COOKIE_VARS[$cookie_name])) 
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar


        • #5
          Original geschrieben von Coragon Rivito
          ausserdem gehörn da klammern drum rum ..

          PHP-Code:
          if (isset($HTTP_COOKIE_VARS[$cookie_name])) 
          Hi !

          Danke für die Berichtigung. Ich habe nur einen kleinen Ausschnitt aus der Datei hier genommen und mich auf das grundlegende Probleme beschränkt. Da ich den Code schnell selbst getippt habe (nichts mit copy&paste), kann er durchaus Fehler enthalten.

          @Martin_de : Danke für den Hinweis. Bin aber noch nicht so lange bei PHP und von der Superglobal $_COOKIE hatte ich noch nichts gehört. Sollte mir evtl. mal ein anderes Buch zulegen. Jedenfalls habe ich mir jetzt erstmal die Dokumentation von PHP runtergeladen.
          BTW Jetzt funktioniert das auch so, wie ich es mir vorgestellt habe. Also nochmal DANKE.

          MfG

          Le_Cheffe

          Kommentar

          Lädt...
          X