Beste,

Bij mijn inschrijf/contact formulier worden opties bij een selectmenu uit de database gehaald.
Dit heb ik gedaan dmv htmlentities. Maar het lukt me maar niet om de gekozen item mee te sturen via de mail.

Wat ik nu heb: (formulier.php)

	<?php
									while($row = mysql_fetch_assoc($sql))
									{
										for($i = 1; $i <= 5; $i++)
										{
											if ($row['datum'.$i] != '')
												echo '<option value="'.$row['datum'.$i].' '.$row['begintijd'.$i].' - '.$row['eindtijd'.$i].' '.$row['locatie'.$i].'">'.htmlentities($row['datum'.$i]).' '.htmlentities($row['begintijd'.$i]).' - '.htmlentities($row['eindtijd'.$i]).', '.htmlentities($row['locatie'.$i]).' ('.htmlentities($row['plaats'.$i]).')</option>';
										}
									}
									mysql_data_seek($sql, 0);
								?>

Wat ik nu heb: (verstuur.php)

<?php
<tr>

<td style='color:color:#114977;'><b>Datum:</b></td>
<td>"$datum = htmlentities($_POST['datum'.$i])
"</td>
</tr>
?>


Ik weet dat dit helemaal de verkeerde methode is om te versturen. Hopelijk kunnen jullie me hierbij helpen :D

Thanks!

Corné

Toevoeging op 04/09/2013 11:53:04:

Niemand een ideetje?
Gebruik je bij de <option>'s de value="" attribuut? dan zul je die waarde meekrijgen als het formulier verstuurd wordt en niet het gedeelte tussen <option> en </option>.

Bij databases is het een goed gebruik om elk record een uniek ID te geven (primary key). Wellicht heb je dit ID al meegegeven als value aan de options. dan moet je natuurlijk wel nog even bij het verwerken van het formulier dit record uit de database halen:

<?php
$query = "SELECT * FROM mytable WHERE `id`=" . $POST['myselect'];

// query uitvoeren en fetchen, daarna de waarden gebruiken 
?>


Toevoeging op 04/09/2013 14:45:39:

tip:

doe eens dit om zelf te zien wat er allemaal met $_POST meekomt:

<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>
@frank, je hebt wel gelijk, maar je vergeet de query af te sluiten, te hashen en je spelt de post verkeerd.

<?php
$query = "SELECT * FROM `mytable` WHERE `id`='" .$_POST['myselect']. "'");
?>

@poster, ook kun je, in mijn mening, beter de empty tag gebruiken bij je if statement.
Hier vergeet je tevens de brackets..

Dus:

<?php
if(!empty($row['datum'.$i]))
{
..
}
?>

Dan nog een punt, dit volgende gaat ook niet werken:
<?php
<td style='color:color:#114977;'><b>Datum:</b></td>
?>

Maak er dit van:
<?php
<td style="color: #114977;"><b>Datum:</b></td>
?>
Bedankt Viccie & Frank! Ik ga aan de slag met jullie puntjes, nu zou ik er wel uit moeten komen :-D

Corné

Toevoeging op 05/09/2013 10:00:38:

<?php
<td style='color:color:#114977;'><b>Datum:</b></td>
?>


Die dubbele 'colors' was ook een typfoutje zie ik nu haha..

Toevoeging op 05/09/2013 10:56:50:

Het formulier is nu af en werkt perfect. Bedankt!!

Reageren