Loops, mail() en checkboxes

Status
Niet open voor verdere reacties.

tv woofing

Gebruiker
Lid geworden
28 jul 2009
Berichten
26
Beste Helpmij-ers,

Ik heb een probleem mbt het emailen van gecheckte values in een form.

Ik heb dus een script van 2 pagina's. Op pagina 1 staan er checkboxes (bij elke persoon verschilt de hoeveelheid ervan). Als je op "Verzenden" drukt, ga je naar pagina 2.

Op pagina 2 wil ik een mailscript maken dat mailt naar een persoon welke checkboxes aangevinkt zijn. Aangezien je de hoeveelheid van de checkboxes niet kunt weten, neem ik aan dat dit alles met een loop moet gebeuren, maar hier loop ik vast.

De bedoeling is dat het volgende naar het emailadres wordt verzonden:

"http://site.nl/bestand.php?id=$gechecked\nhttp://site.nl/bestand.php?id=$gechecked\n"

En dat gaat door tot je alle gecheckte checkboxes overlopen hebt.

Hopelijk ben ik duidelijk genoeg. Heeft iemand een suggestie?
 
Je kunt een array meesturen van de checkboxes zodat je in de $_POST alleen de aangevinkte waardes hebt staan.
PHP:
<form method="post" action="test.php">
	<input type="checkbox" name="persoon[]" value="david"> David de Kabouter<br>
	<input type="checkbox" name="persoon[]" value="paulus"> Paulus de Boskabouter<br>
	<input type="checkbox" name="persoon[]" value="plop"> Kabouter Plop<br>
	<input type="submit" />
</form>
<?php
	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		//print_r($_POST);
		foreach ($_POST["persoon"] as $data) {
			echo $data."<br />";
		}
	}
?>
 
Je kunt een array meesturen van de checkboxes zodat je in de $_POST alleen de aangevinkte waardes hebt staan.
PHP:
code

Zoiets heb ik nu ook, het probleem zit 'm echter in het mailen van die waarden. De output van jouw (en mijn) code is
PHP:
Paulus
David
en nu wil ik "Paulus" en "David" emailen naar iemand, maar ik heb geen idee hoe ik dat moet doen.
 
Ok, ik had je vraag verkeerd gelezen. Als je simpelweg alles in een mail wilt zetten kun je de array die in $_POST["persoon"] zit natuurlijk gewoon imploden en het geheel vervolgens wegsturen
PHP:
<?php
	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		mail('bestaatniet@spamhole.com', 'onderwerp', implode($_POST["persoon"],"\n"));
	}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan