jeIIy Skrevet 12. september 2014 Del Skrevet 12. september 2014 Leste en tutorial om funksjoner hvor dette ble gjort: $userip = $_SERVER['REMOTE_ADDR']; function ip_exists($ip) { global $userip; $query = "SELECT `ip` FROM `hits_ip` WHERE `ip`='$userip'"; $query_run = mysql_query($query); $query_num_rows = mysql_num_rows($query_run); if($query_num_rows == 0) { return true; } else if($query_num_rows >= 1) { return false; } } if(ip_exists($userip)) { ip_add($userip); hitcounter(); } else { echo 'exists'; } Jeg detter ut, han oppretter argumenten $ip i funksjonen, men bruker den ikke. Hva er det jeg ikke skjønner? Vil ikke det logiske bare være å fjerne argumenten til ip_exists() Lenke til kommentar
BlueEAGLE Skrevet 12. september 2014 Del Skrevet 12. september 2014 (endret) Rettelse, ny feil følger. Forfatteren av denne tutorialen aner ikke hva han driver med. Her gjøres $userip global, istedenfor å bruke $ip i funksjonen. Det bekjemper hele konseptet. $query = "SELECT `ip` FROM `hits_ip` WHERE `ip`='$userip'"; skulle ha vært $query = "SELECT `ip` FROM `hits_ip` WHERE `ip`='$ip'"; og $userip skulle aldri ha vært gjort global. Den variabelen du angir i funksjonsdefinisjonen tar verdien som blir sendt i funksjonskallet function ip_exists($variabel) { echo $variabel; } Alt som blir sendt til funksjonen blir lagt inn i variabelen $variabel, så om du kaller funksjonen med ip_exist('127.0.0.1'); så vil funksjonen skrive ut 127.0.0.1, fordi i funksjonen så er det innholdet i $variabel. Hvis du kaller funksjonen med verdien i variabelen så blir verdien sendt til funksjonen uavhengig av variabelnavnet brukt i funksjonskallet $minIp = '127.0.0.1'; ip_exist($minIp); vil også skrive ut 127.0.0.1 fordi variabelen $variabel nå inneholder verdien av $minIp, altså 127.0.0.1. Håper det hjelper. Endret 12. september 2014 av BlueEAGLE 1 Lenke til kommentar
jeIIy Skrevet 12. september 2014 Forfatter Del Skrevet 12. september 2014 Rettelse, ny feil følger. Forfatteren av denne tutorialen aner ikke hva han driver med. Her gjøres $userip global, istedenfor å bruke $ip i funksjonen. Det bekjemper hele konseptet. $query = "SELECT `ip` FROM `hits_ip` WHERE `ip`='$userip'"; skulle ha vært $query = "SELECT `ip` FROM `hits_ip` WHERE `ip`='$ip'"; og $userip skulle aldri ha vært gjort global. Takk, nå går det hele rundt. Det du har sagt i spoiler er det jeg har fått med meg, det var derfor jeg stusset litt over denne tutorialen. Lenke til kommentar
Crowly Skrevet 15. september 2014 Del Skrevet 15. september 2014 Litt av utfordringen med PHP tutorials på nettet er at det er veldig varierende kvalitet på de, og gamle og utdaterte ting blir ikke fjernet. Størst problem når man er ny, da er det lett man lærer dårlige, og i verste fall, feil vaner. 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å