06. oktober 2004 - 00:07Der er
16 kommentarer og 1 løsning
Mangler hjælp til håbløs fejl
Jeg har fået en bekendt til at lave nedenstående (har ikke selv en pind forstand på php). Men den giver en fejlmelding i linie 185 - noget i stil med: Warning: Invalid argument supplied for foreach() (jeg har markeret line 185 med en stribe Å'er)
<?php if (count($_POST) > 0) { trimdata($_POST); //remove whitespace extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars }
if ($submit) { //form validation $error = array(); if (!$name) { $error[] = "Angiv venligst dit navn"; } if (!$address) { $error[] = "Angiv venligst din adresse"; } if (!$zipcode) { $error[] = "Angiv venligst dit postnr."; } if (!$city) { $error[] = "Angiv venligst bynavn"; } if (!$checkbox0 && !$checkbox1) { $error[] = "Du bedes vælge mindst én af checkboksene"; } if (count($opt2) == 0) { $error[] = "Du bedes foretage mindst ét valg under Opt. 2"; }
//only send mail if there's no errors if (count($error) == 0) { //give user a message depending on checkbox choice if ($checkbox0 && !$checkbox1) { $text_msg = 'Denne tekst vises hvis den ene checkbox er valgt (Tekst 1)'; } elseif ($checkbox1 && !$checkbox0) { $text_msg = 'Denne tekst vises hvis den anden checkbox er valgt (Tekst 2)'; } elseif ($checkbox0 && $checkbox1) { $text_msg = 'Denne tekst vises hvis begge checkboxe er valgt (Tekst 3)'; } $message = "Navn: ".$name."\n"; $message .= "Adresse: ".$address."\n"; $message .= "Postnummer og by: ".$zipcode." ".$city."\n"; $message .= "\n"; $message .= "Opt 1.: ".$text_msg."\n"; $message .= "Opt 2.:\n".join("\n",$opt2)."\n";
echo $text_msg; mail('ntg@mail.dk', 'Tilmeldings mail', $message); ;?> <p><a href="videre.html">Klik her for at komme videre</a></p> <?php //if errors, give user some info... } else { echo join("<br>",$error); } }
//show the form, if it is not sent, or errors ocurred if (!$submit || count($error) > 0) { $opt2_ary = array(); $opt2_ary[1] = 'Tekst 1'; $opt2_ary[2] = 'Tekst 2'; $opt2_ary[3] = 'Tekst 3'; $opt2_ary[4] = 'Tekst 4'; $opt2_ary[5] = 'Tekst 5'; $opt2_ary[6] = 'Tekst 6'; $opt2_ary[7] = 'Tekst 7'; $opt2_ary[8] = 'Tekst 8'; $opt2_ary[9] = 'Tekst 9'; $opt2_ary[10] = 'Tekst 10'; $opt2_ary[11] = 'Tekst 11'; ?> <form action="index.php" method="post">
<?php if (count($_POST) > 0) { trimdata($_POST); //remove whitespace extract($_POST,EXTR_OVERWRITE); //overwrite existing vars with the posted vars }
if ($submit) { //form validation $error = array(); if (!$name) { $error[] = "Angiv venligst dit navn"; } if (!$address) { $error[] = "Angiv venligst din adresse"; } if (!$zipcode) { $error[] = "Angiv venligst dit postnr."; } if (!$city) { $error[] = "Angiv venligst bynavn"; } if (!$checkbox0 && !$checkbox1) { $error[] = "Du bedes vælge mindst én af checkboksene"; } if (count($opt2) == 0) { $error[] = "Du bedes foretage mindst ét valg under Opt. 2"; }
//only send mail if there's no errors if (count($error) == 0) { //give user a message depending on checkbox choice if ($checkbox0 && !$checkbox1) { $text_msg = 'Denne tekst vises hvis den ene checkbox er valgt (Tekst 1)'; } elseif ($checkbox1 && !$checkbox0) { $text_msg = 'Denne tekst vises hvis den anden checkbox er valgt (Tekst 2)'; } elseif ($checkbox0 && $checkbox1) { $text_msg = 'Denne tekst vises hvis begge checkboxe er valgt (Tekst 3)'; } $message = "Navn: ".$name."\n"; $message .= "Adresse: ".$address."\n"; $message .= "Postnummer og by: ".$zipcode." ".$city."\n"; $message .= "\n"; $message .= "Opt 1.: ".$text_msg."\n"; $message .= "Opt 2.:\n".join("\n",$opt2)."\n";
echo $text_msg; mail('ntg@mail.dk', 'Tilmeldings mail', $message); ;?> <p><a href="videre.html">Klik her for at komme videre</a></p> <?php //if errors, give user some info... } else { echo join("<br>",$error); } }
//show the form, if it is not sent, or errors ocurred if (!$submit || count($error) > 0) { $opt2_ary = array(); $opt2_ary[1] = 'Tekst 1'; $opt2_ary[2] = 'Tekst 2'; $opt2_ary[3] = 'Tekst 3'; $opt2_ary[4] = 'Tekst 4'; $opt2_ary[5] = 'Tekst 5'; $opt2_ary[6] = 'Tekst 6'; $opt2_ary[7] = 'Tekst 7'; $opt2_ary[8] = 'Tekst 8'; $opt2_ary[9] = 'Tekst 9'; $opt2_ary[10] = 'Tekst 10'; $opt2_ary[11] = 'Tekst 11';
Men jeg mangler lige en lille ting. Så den laver jeg et nyt spm. om - hvis du så vil svare på det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.