Hej NG!
Jeg sidder og læser Julie C. Melonis bog "PHP, MySQL og Apache", og jeg er
rendt ind i et problem:
Jeg læser om foreach i forbindelse med formularer og om at sende mail -
begge dele kan jeg godt få til at lykkes hver for sig, men jeg vil gerne
kombinere dem - og det går ikke så godt...
Jeg har en side med en kontakt-formular, hvor der er nogle input-felter at
typen "checkbox".
Jeg har læst mig frem til (side 165 i bogen), at man kan samle alle
brugerens input i et array, hvis man i parameteren "name" skriver f.eks.:
name="feltnavn[]" ved alle input-felterne - altså den afsluttende klamme
skulle få PHP til at samle det sammen til ét array, hvis brugeren sætter
kryds i flere felter.
Ingen problem der - kan godt få det udskrevet korrekt hvis jeg ikke blander
det sammen med at skulle sende en mail - lidt kode:
if (!empty($_POST[omraade])) {
print "<ul>\n\n";
foreach ($_POST[omraade] as $value) {
print "<li>$value</li>\n";
}
print "</ul>";
} // Det her vil udskrive en liste med brugerens input
//Vi laver en variabel, som indeholder alt det, som skal stå i mailen
$msg = "Besked fra ".$navn."\n";
$msg .= "Afsenderens adresse: ".$adr. "\n";
$msg .= "Kontaktperson: ".$att. "\n";
$msg .= "Afsenderens e-mail: ".$email."\n";
$msg .= "Afsenderens IP-adresse: ".$ip."\n\n";
$msg .= "Ønsker info om flg. område(r):\n $value\n";
$msg .= $navn."'s besked er:\n\n".$tekst."\n";
// Jeg vil gerne have foreach-statementet implementeret i her, så der hvor
der står "$msg .= "Ønsker info om flg. område(r):\ $value\n";" (fjern første
og sidste "), så alle brugerens input bliver udskrevet.
Jeg har prøvet det på flg. måde:
if (!empty($_POST[omraade])) {
foreach ($_POST[omraade] as $value) {
//Vi laver en variabel, som indeholder alt det, som skal stå i mailen
$msg = "Besked fra ".$navn."\n";
$msg .= "Afsenderens adresse: ".$adr. "\n";
$msg .= "Kontaktperson: ".$att. "\n";
$msg .= "Afsenderens e-mail: ".$email."\n";
$msg .= "Afsenderens IP-adresse: ".$ip."\n\n";
$msg .= "Ønsker info om flg. område(r):\n $value\n";
$msg .= $navn."'s besked er:\n\n".$tekst."\n";
}
}
....men det udskriver kun den sidste markering, som brugeren har
foretaget...??
Hvad gør jeg galt??
På forhånd mange tak for hjælpen!
Med venlig hilsen
--
Dennis Munding
Web-master
http://www.skovaa-munding.dk/, http://www.mundings-memorial.dk/
http://www.cantica.dk/, http://www.pe-vagtservice.dk/,
http://www.eds-denmark.dk/