demiurgen Skrevet 19. desember 2007 Del Skrevet 19. desember 2007 jeg trenger litt hjelp til å forstå denne koden: switch ($_GET[‘action’]) { case “add”: switch ($_GET[‘type’]) { case “movie”: $sql = “INSERT INTO movie (movie_name, movie_year, movie_type, movie_leadactor, movie_director) VALUES (‘“ . $_POST[‘movie_name’] . “‘, ‘“ . $_POST[‘movie_year’] . “‘, ‘“ . $_POST[‘movie_type’] . “‘, ‘“ . $_POST[‘movie_leadactor’] . “‘, ‘“ . $_POST[‘movie_director’] . “‘)”; break; } break; } jeg har koden fra en bok jeg holder på med, men boka forklarer ingenting om denne switch koden. er det noen som kan forklare den til meg? Lenke til kommentar
Martin A. Skrevet 19. desember 2007 Del Skrevet 19. desember 2007 switch er på måte det samme som en if, bare at den åpner for flere muligheter og mindre kode enn en vanlig if(). For å starte på toppen. Den sjekker først om $_GET['actions'] eksisterer, om den gjør det ser den om verdien passer til en av 'case'ene. Stemmer en av dem, utfører den koden som står mellom case og break. Hvis $_GET['actions'] er 'add', og hvis $_GET['type'] er 'movie' lager den spørringen. Les mer om det på http://no.php.net/switch. Og den boken kan du forøvrig bare hive, da den overhode ikke tar høyde for sql injections (google), eller input validering, noe som en veldig viktig del av et script som mottar og behandler inndata fra brukere. Lenke til kommentar
demiurgen Skrevet 19. desember 2007 Forfatter Del Skrevet 19. desember 2007 takk M4rTiN!! da skjønner jeg litt mer av koden. er bare kommet til kapitel 6 så det kan jo hende set sier mer om sql injections lenger ut i boka Lenke til kommentar
Martin A. Skrevet 19. desember 2007 Del Skrevet 19. desember 2007 Om det er "Webprogrammering i PHP" du leser så tror jeg det er et kapitel på to-tre sider ganske langt bak i boka. Tips: Alle funksjonene tilgjengelig i PHP finner du mer om i manualen ved å gå inn på http://no.php.net/<funksjonsnavn> Lenke til kommentar
grimjoey Skrevet 19. desember 2007 Del Skrevet 19. desember 2007 et lite tips ved bruk av switch. dersom du glemmer break utføres koden videre selv om ikke neste case matcher. swich($imagetype) { case 'jpeg': case 'jpg': imagejpg($img); break; case 'gif': imagegif($img); break; } her vil den utføre imagejpg($img); dersom $imagetype er jpeg eller jpg. det er viktig å være bevisst på break når man bruker switch. man har også en default case (default:) som utføres dersom det ikke er noen match. 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å