Gå til innhold

hjelp til å forstå en switch kode


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...