kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Wie finde ich die IP meiner Besucher raus?

    geschrieben von seitetop

    Hallo ... einen schönen guten Morgen,

    die IP-Adresse des Besuchers ist normal das hier:
    $_SERVER['REMOTE_ADDR']


    aber weil Lima-Seiten über Proxys, deshalb so:
    $_SERVER['HTTP_X_FORWARDED_FOR']


    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
         $userip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
      } else {
         $userip = $_SERVER["REMOTE_ADDR"];
      }


    und wenn wir schon bei $_SERVER Variablen sind .... es kommt häufig vor,
    dass bei Auslesen des HTTP_REFERER ein Fehler kommt (No such Key in Array)
    weil dieser "KEY" wird nur dann gesetzt, wenn es auch einen Referer gibt (Herkunft)

    if (isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])) { 
       $herkunft = $_SERVER['HTTP_REFERER']; 
    } else { 
       $herkunft = '-keine-'; 
    }


    anstatt '-keine-' kann man beliebig anderen String für "nicht vorhanden" machen


  • in: Cookies werden nicht gesetzt

    geschrieben von seitetop

    Hallo

    beim Cookie setzen ist der erste Wert (Parameter) der "Name" (Bezeichnung)
    und nur der zweite Parameter ist der Inhalt (value), ....
    setcookie( "Name" , "Wert" );


    ... der dritte Parameter ist dann das Verfalls-Datum (expire date)
    $xpiredate = time()+3600; 
    setcookie( "Name" , "Wert" , $xpiredate );


    ... weitere Argumente (path, domain, secure) siehe PHP Manual: setcookie

    wenn Du mehrere Werte in ein einziges Cookie speichern willst,
    dann musst Du die einzelnen Werte als ein Array übergeben
    weil ja nur 1 Parameter (der zweite) für Inhalte (value) da ist
    $timestamp = time(); 
    $xpiredate = $timestamp+3600; 
    
    // -- zu Speichernde Daten in Array ablegen 
    $set_data = array ( 100, $_GET['u'], 'Infotext', $timestamp ); 
    
    // -- beim Erstellen des Cookie als Value das Array angeben 
    setcookie( "MeinCookie" , $set_data , $xpiredate );


    dann hast Du in Deinem Cookie (Name) die Daten (Value) als Array
    und um Array im Broser auszugeben genügt ein einfaches "echo" nicht

    wenn $_COOKIE["MeinCookie"] ein Array ist, dann geht das so NICHT ....
    .... echo $_COOKIE["MeinCookie"]; ......

    zur Anzeige (Debug) bei Array empfiehlt sich als Ausgabe print_r()

    // -------------------- 
    print '<pre style="margin:2px; padding:4px; text-align:left; background:#DEDEDE; color:#000066;">'."\n";
    print_r($_COOKIE);
    print '</pre>';
    // --------------------


    damit sieht man in der Regel alle Daten auch Arrays und Sub-Arrays, etc.


    Beispiel

    <?php
    // ------------------------------------------------- 
    
    $value1 = "my cookie value"; 
    $value2 = 17; 
    $value3 = time(); 
    
    $val_usr = $_GET['u']; 
    $val_usr = htmlentities($val_usr); 
    
    $val_sec = $_GET['s']; 
    $val_sec = htmlentities($val_sec); 
    
    // ----------------------------------- 
    
    $arr_data1 = array( $val_usr, $value1, $value2, $value3 );  // ---- Array 1 ---- 
    $arr_data2 = array( $val_sec, $value1, $value2, $value3 ); // ---- Array 2 ----
    
    // ----------------------------------- 
    $timestamp = time(); 
    $expir_date = ($timestamp + 3600); 
    
    setcookie( "TestCookie1" , $arr_data1 , $expir_date);   // ---- Cookie1 = (Array 1) ---- 
    setcookie( "TestCookie2" , $arr_data2 , $expir_date);   // ---- Cookie2 = (Array 2) ----
    setcookie( "TestCookie3" , "Blablabla." , $expir_date);   // ---- Cookie3 = (String) ----
    
    // ------------------------------------------------- 
    ?>
    
    <html>
    <body>
    
    <br /> TEST 
    
    <?php
    // ------------------------------------------------- 
    $cname1 = 'TestCookie1'; 
    // ------------------------------------------------- 
    if (isset($_COOKIE[$cname1])) { 
        if (is_array($_COOKIE[$cname1]) && !empty($_COOKIE[$cname1])) { 
           echo " <br /> COOKIE:: ".$cname1." \n";
            foreach ($_COOKIE[$cname1] as $name => $value) { 
              echo " <br /> KEY: ".$name." --- VALUE: <strong>".$value."</strong> \n";
            } 
        } 
    } 
    // ------------------------------------------------- 
    
    print '<br />'; 
    print '<br />'; 
    print '<br /> Alle COOKIE Daten '; 
    print '<br />'; 
    print '<pre style="margin:2px; padding:4px; text-align:left; background:#DEDEDE; color:#000066;">'."\n"; 
    print_r($_COOKIE); 
    print '</pre>'; 
    
    // ------------------------------------------------- 
    ?>
    
    <br />
    <br />
    
    </body>
    </html>




Login zum Webhosting ohne Werbung!