<?php // yk_gallup.php ob_start(); // Luodaan get muuttujista selvelmpiä: $act = $_GET['act']; $id = $_GET['id']; // Käyttäjän IP: $ip = $_SERVER['REMOTE_ADDR']; $ip_lista = file("yk_gallup_ipdata.txt"); $salli = 1; // Tarkistetaan löytyykö käyttäjän IP:tä tiedostosta: if(in_array("$ip\r\n", $ip_lista)){ // "\r\n" tarkoittaa rivinvaihtoa $salli = 0; } // Haetaan gallupin datatiedot riveittäin taulukkoon: $filu = file("yk_gallup.txt"); $max = count($filu); // Kuinka monta vastausta + kysymys $kysymys = trim($filu[0]); // Viimeinen merkki oli rivinvaihto file() funktion takia, joten trimmataan print"<B>$kysymys</B><hr>"; // Aloitetaan toiselta riviltä (1), koska ensimmäinen oli kysymys: for($u = 1; $u < $max; $u++){ $osa = explode("<>", $filu[$u]); if($salli){ // Jos ei olla vielä äänestetty: print"<A HREF=\"?act=vastaa&id=$u\">$osa[0]</A><br>"; }else{ // Jos ollaan äänestetty, tulostetaan myös määrät: print"$osa[0] - $osa[1]<br>"; } } // Yksinkertainen galluppi by T.M. - www.HC-Codes.net if($act == "vastaa"){ if($salli == 1){ // Haetaan klikatun vastauksen tiedot siltä riviltä: $osa = explode("<>", $filu[$id]); // Kasvatetaan nykyistä lukua yhdellä, eli lisäämme klikkauksen laskuun: $osa[1]++; // Tallennetaan muutokset siihen riville: $filu[$id] = "$osa[0]<>$osa[1]<>\r\n"; // Liitetään tiedosto yhteen merkkijonoon uudestaan: $liitos = implode("", $filu); // Tallennetaan muutokset tiedostoon: $save = fopen("yk_gallup.txt", "w"); fwrite($save, $liitos); fclose($save); // Tallennetaan uusi IP tiedostoon: $save = fopen("yk_gallup_ipdata.txt", "a"); fwrite($save, $ip."\r\n"); fclose($save); } header("Location: yk_gallup.php"); } ob_end_flush(); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.