RPA Skrevet 26. mars 2003 Del Skrevet 26. mars 2003 Jeg prøver å lage et skript som sjekker ip-adressen til pc'n som går inn på siden og så lagrer ip-adressen i feks ip.txt... dette fungerer men så skal skriptet søke igjennom filen etter en lik ip-adresse og da ikke kjøre resten av skriptet. Så hvis ip-adressen allerede finnes i ip.txt så gjør skriptet noe annet! $oldip = implode ('', file ("ip.txt")); $ip = getenv ("REMOTE_ADDR"); if $ip = $oldip { print "IP-adressen finnes allerede i listen (her slutter skriptet hvis ip'n allerede finnes i ip.txt" } else { print "IP registreres... osv. (her fortsetter skriptet og lagrer ip-adressen i ip.txt" } Slik det er nå tror skriptet at ip-adressen allerede finnes i fila så lenge ip.txt eksisterer Hvordan skal jeg få skriptet til å gjøre dette viss den finner ip-adressen i ip.txt? Lenke til kommentar
tadam Skrevet 26. mars 2003 Del Skrevet 26. mars 2003 Her er et lite forslag... men det finnes sikkert bedre måter å gjøre det på. $oldip = @implode ('', @file ("ip.txt")) or die("Kunne ikke fine ip.txt"); $ip = getenv ("REMOTE_ADDR"); if (substr_count($oldip, $ip) > 0) // retunerer antall ganger $ip ble funnet i $oldip... { echo ("IP-adressen finnes allerede i listen"); exit; } // den andre koden som skal kjøres... Bare spør hvis dette ikke funker, har ikke testa koden selv... :smile: Lenke til kommentar
Sugx Skrevet 27. mars 2003 Del Skrevet 27. mars 2003 noe jeg lagde for lenge siden, kanskje ikke best, men det funker! <?php //skrivedelen $ip = $_SERVER['REMOTE_ADDR']; $fil = "logg.txt"; $line_id = -1; //array delen $line = @file($fil); $max = @array_values($line); $num_lines = count($max); echo($num_lines); //looper oss mellom linjene for($i=0; $i <= $num_lines; $i++) { if("$ipn" == $line[$line_id++]) { $skriv="JA"; //hvis $ip allerede finnes i fila... } } //Skrive-til-fila-delen if($skriv!="JA") { $fd = @fopen($fil, "a") or die;//("Kunne ikke åpne filen"); if($fd) { fwrite($fd, "$ipn"); fclose($fd); //echo("Har skrevet til filan<br>"); } else { fclose($fd); //echo("Ingen skriving er gjort"); } } ?> [edit]Du må chmodde "logg.txt" eller hva du må kaller fila til 777, men det visste du sikkert Lenke til kommentar
PlastBox Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 $ip = $_SERVER['REMOTE_ADDR']; $a = file('logg.txt'); $a = implode('', $a); if (eregi($ip, $a)) { echo "Adressen er allerede logget!"; exit; } Lenke til kommentar
RPA Skrevet 7. april 2003 Forfatter Del Skrevet 7. april 2003 Takker for svar! Det første forslaget fungerte utmerket og de som vil kan se skriptet i aksjon her Lenke til kommentar
christt Skrevet 7. april 2003 Del Skrevet 7. april 2003 Jeg ville gjort det slik: $oldip = @file ("ip.txt") or die("Kunne ikke fine ip.txt"); $ip = getenv ("REMOTE_ADDR"); if (in_array($ip, $oldip)) { echo "IP-adressen finnes allerede i listen"; exit; } Men du har jo en kode som funker så... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå