Ankündigung

Einklappen
Keine Ankündigung bisher.

Mich dem System ausschliessen

Einklappen

Neue Werbung 2019

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

  • Mich dem System ausschliessen

    Hi

    Ich möchte eine Auflistung von allen Besucher auf meiner Seite. Der einzelner Besucher lässt sich durch Variablen identifizieren.

    Nun möchte ich aber dass ich selber nicht gezählt werde, wenn ich mich anstelle des Besuchers einlogge.

    Ich arbeite dazu mit Cookies. D.h. ich gebe mir selber ein Cookie und somit soll der Besucher nur aufgelistet werden wenn bei ihm das Cookie nicht existiert.

    Das Cookie gebe ich mir selber nicht von der selben Seite aus, sondern aus einer anderen Datei (in der selben Verzeichnis).

    Cookie.php
    PHP-Code:
    <?php
        
    if (!isset($_COOKIE['test'])) {
                 
    setcookie("test""Cookie aktiviert!");
             }
              else {
                  echo 
    $_COOKIE['test'];
              }

    ?>
    index.php
    PHP-Code:
             if (!isset($_COOKIE['test'])) {
                 echo 
    "Visitor added!";
                     
    $visitors fopen("admin/visitors.txt""w+");
                     
    fputs($visitors$name);
                     
    fclose($visitors);
             } 
    Das Problem liegt darin, dass das Cookie nicht erkannt wird, wenn ich es auswärts betätige. D.h. die beiden Scripts müsstens Eins sein, bzw. beide in einer Datei damit es funktioniert aber das möchte ich ja nicht, da es sonst keinen Sinn machen würde.

    Hab das Problem schon in ein anderes Forum gestellt. Villeicht hab ich hier ja mehr Glück?!

  • #2
    Was wird mit folgendem Code ausgegeben?
    PHP-Code:
    <?php
    if (!isset($_COOKIE['test'])) {
      
    error_reporting(E_ALL);
      
    ini_set('display_errors'true);
      
    setcookie("test""Cookie aktiviert!");
    }
    else {
      echo 
    $_COOKIE['test'];
    }
    echo 
    '<pre> self:' htmlentities($_SERVER['PHP_SELF']);
    echo 
    "\nsession cookie parameters: ";
    var_dump(session_get_cookie_params());
    echo 
    "\ncookies: ";
    var_dump($_COOKIE);
    echo 
    '</pre>';
    ?>
    PHP-Code:
    <?php
    echo '<pre> self:' htmlentities($_SERVER['PHP_SELF']);
    echo 
    "\nsession cookie parameters: ";
    var_dump(session_get_cookie_params());
    echo 
    "\ncookies: ";
    var_dump($_COOKIE);
    echo 
    '</pre>';
    if (!isset(
    $_COOKIE['test'])) {
      echo 
    "Visitor added!";
      
    $visitors fopen("admin/visitors.txt""w+");
      
    fputs($visitors$name);
      
    fclose($visitors);
    }
    ?>

    Kommentar


    • #3
      Also beim ersten bekomme ich das hier:
      self:/admin/test1.php
      session cookie parameters: array(5) {
      ["lifetime"]=>
      int(0)
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(0) ""
      ["secure"]=>
      bool(false)
      ["httponly"]=>
      bool(false)
      }

      cookies: array(2) {
      ["test"]=>
      string(17) "Cookie aktiviert!"
      ["PHPSESSID"]=>
      string(26) "t4vj15uhucf8nt1en02lk0jea4"
      }
      und beim zweiten:
      self:/admin/test2.php
      session cookie parameters: array(5) {
      ["lifetime"]=>
      int(0)
      ["path"]=>
      string(1) "/"
      ["domain"]=>
      string(0) ""
      ["secure"]=>
      bool(false)
      ["httponly"]=>
      bool(false)
      }

      cookies: array(3) {
      ["test"]=>
      string(17) "Cookie aktiviert!"
      ["test"]=>
      string(17) "Cookie aktiviert!"
      ["PHPSESSID"]=>
      string(26) "t4vj15uhucf8nt1en02lk0jea4"
      }

      Kommentar


      • #4
        ["test"]=>
        string(17) "Cookie aktiviert!"
        ["test"]=>
        string(17) "Cookie aktiviert!"
        Zwei Einträge mit dem (anscheinend) selben Index in einem Feld? Das ist seltsam. Und isset() spricht auf beide nicht an? Das ist noch seltsamer.

        Kommentar


        • #5
          Hab mal alle Cookies gelöscht und mit IE 7.0 getestet. Hier noch einen Versuch:

          self:/admin/test1.php session cookie parameters: array(5) { ["lifetime"]=> int(0) ["path"]=> string(1) "/" ["domain"]=> string(0) "" ["secure"]=> bool(false) ["httponly"]=> bool(false) } cookies: array(2) { ["test"]=> string(17) "Cookie aktiviert!" ["PHPSESSID"]=> string(26) "t4vj15uhucf8nt1en02lk0jea4" }
          self:/admin/test2.php session cookie parameters: array(5) { ["lifetime"]=> int(0) ["path"]=> string(1) "/" ["domain"]=> string(0) "" ["secure"]=> bool(false) ["httponly"]=> bool(false) } cookies: array(3) { ["test"]=> string(17) "Cookie aktiviert!" ["test"]=> string(17) "Cookie aktiviert!" ["PHPSESSID"]=> string(26) "t4vj15uhucf8nt1en02lk0jea4" }

          Kommentar


          • #6
            Bei deinen Ausgaben kann ich eine session id erkennen aber kein session_start(); bei Beginn deines Scriptes!
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            [URL]http://www.lit-web.de[/URL]

            Kommentar


            • #7
              Aber das hat doch nichts mit dem Session zu tun, oder?! Oder weiss jemand ne Alternativlösung zu meinem Problem?

              Kommentar


              • #8
                cookies: array(3) { ["test"]=> string(17) "Cookie aktiviert!" ["test"]=> string(17) "Cookie aktiviert!" ["PHPSESSID"]=> string(26) "t4vj15uhucf8nt1en02lk0jea4" }
                Für den doppelten Index finde ich immer noch keine Erklärung. Bitte nochmal testen mit
                PHP-Code:
                <?php
                if (!isset($_COOKIE['test'])) {
                  
                error_reporting(E_ALL);
                  
                ini_set('display_errors'true);
                  
                setcookie("test""Cookie aktiviert!");
                }
                else {
                  echo 
                $_COOKIE['test'];
                }
                echo 
                "\ncookies: [<br />\n";
                foreach(
                $_COOKIE as $k=>$v)
                {
                    
                var_dump($k);
                    echo 
                '=';
                    
                var_dump($v);
                    echo 
                "<br />\n";
                }
                echo 
                "]<br />\n";
                echo 
                '</pre>';
                ?>
                und
                PHP-Code:
                <?php
                echo "\ncookies: [<br />\n";
                foreach(
                $_COOKIE as $k=>$v)
                {
                    
                var_dump($k);
                    echo 
                '=';
                    
                var_dump($v);
                    echo 
                "<br />\n";
                }
                echo 
                "]<br />\n";
                echo 
                '</pre>';
                if (!isset(
                $_COOKIE['test'])) {
                  echo 
                "Visitor added!";
                  
                $visitors fopen("admin/visitors.txt""w+");
                  
                fputs($visitors$name);
                  
                fclose($visitors);
                }
                ?>

                Kommentar


                • #9
                  Wie sieht's jetzt aus?
                  Cookie aktiviert! cookies: [
                  string(4) "test" =string(17) "Cookie aktiviert!"
                  ]
                  cookies: [
                  string(4) "test" =string(17) "Cookie aktiviert!"
                  ]

                  Kommentar


                  • #10
                    Und es gibt trotzdem Visitor added! aus?

                    Kommentar


                    • #11
                      Nö, bekomme nur das was ich kopiert habe.

                      Kommentar


                      • #12
                        Dann gibt es ja kein Problem mehr.

                        Kommentar

                        Lädt...
                        X