setcookie

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

  • setcookie

    Hallo zusammen,

    hab schon im Forum gesucht aber nichts passendes gefunden, wo mir weiter hilft. Ich möchte, dass ein Update nicht erfolgt bei: setcookie("sperre", "$ip", time()+(43200));

    Wie und was genau muss ich hier einfügen:

    PHP-Code:
    <?
    require("config.php");

    $date = date("dmY");
    // Zeit
    $time = time();
    // IP Adresse
    $ip = getenv(REMOTE_ADDR);
    // Host
    $host = gethostbyaddr(getenv(REMOTE_ADDR));
    // Browser
    $browser = getenv(HTTP_USER_AGENT);

    // ??????????? setcookie("sperre", "$ip", time()+(43200));

    $a = "UPDATE $table SET hitsin = hitsin + 1, ip='$ip' , time ='$time',host='$host',browser='$browser', counter=counter + 1, hitstotal = hitstotal + 1 WHERE memberid = '".$_GET["id"]."'";


    $query = mysql_query("SELECT * FROM $table WHERE memberid = '".$_GET["id"]."'") or die (mysql_error());

    while($object = mysql_fetch_object($query)){

    $ip = $objekt->ip;
    $rank = $object->rank;
    $total = $object->hitstotal;
    $today = $object->hitstoday;
    $today = explode(" | ",$today);

    $datetoday = $today[0];
    $hitstoday = $today[1];
    $hitsplus = $today[1] + 1;

    if($date != $datetoday){
    $b = "UPDATE $table SET hitstoday = '$date | 1' WHERE memberid = '".$_GET["id"]."'";
    }
    else{
    $b = "UPDATE $table SET hitstoday = '$date | $hitsplus' WHERE memberid = '".$_GET["id"]."'";
    }
    }

    $days = $object->date;
    $days = explode(" | ",$days);

    $daytoday = $days[0];
    $dayplus = $days[1] + 1;

    if($date!="$daytoday"){
    $c = "UPDATE $table SET date = '$date | $dayplus'
                                  WHERE memberid = '".$_GET["id"]."'";
    }

    function dohits(){
    global $a,$b,$c,$date,$daytoday;

    mysql_query($a) or die(mysql_error());
    mysql_query($b) or die(mysql_error());

    if($date!="$daytoday"){
    mysql_query($c) or die(mysql_error());
    }
    }

    dohits();

    //Bildausgabe
    $img = imagecreatefromgif("images/counter3.gif");

    $bg = imagecolorallocate($img,0,0,0);
    $text = imagecolorallocate($img,0xFF,0xFF,0x00);
    imagestring($img,3,38,5,"HEUTE: $hitstoday",$text);
    header("Content-Type: image/gif");
    imagegif($img);


    ?>
    EDIT:
    php.tags sponsored by Daddy (Abraxax)
    Zuletzt geändert von Abraxax; 09.08.2003, 21:06.

  • #2
    wenn du schon eine DB zur verfügung hast, solltest du das problem einfacher mithilfe der DB lösen können.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Wäre ganz toll, aber....

      wie realsier ich das hier, dass User sich nicht selbst "hochklicken" ?

      Kommentar


      • #4
        Re: Wäre ganz toll, aber....

        Original geschrieben von meteo
        wie realsier ich das hier, dass User sich nicht selbst "hochklicken" ?
        was heisst 'hochklicken' bei dir.

        tatsache ich, dass du alle user in eine db packen kannst. die ip des users kannst du auch in die db packen. und wenn die aktuelle zeit minus der letzten aktionszeit größer null ist, so kann der user eine aktion durchführen.

        damit brauchst du dann kein cookie mehr.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          soweit klar aber..

          ich bin absoluter Newbie und weiss nicht wie ich das machen soll. Die Tabelle enthält u.a. die Spalten id, time, ip,. Ich hatte das auch schon probiert - dann wurde zwar nicht hochgezählt aber das Bild (siehe ganz unten) wird nicht mehr angezeigt, statt dessen kommt die Meldung:

          "Query was empty"

          Das war so:

          $ip = $object[ip];

          $voteip = $REMOTE_ADDR;
          if ($voteip == "127.0.0.1") {
          $a = "UPDATE $table SET ip='$voteip', hitsin = hitsin + 1, hitstotal = hitstotal + 1 WHERE memberid = '".$_GET["id"]."'";
          }

          Ich blick es halt nicht und mach irgendwas falsch!

          Kommentar

          Lädt...
          X