Archief - Mailform

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

mvp9

Legacy Member
Beste mensen,

Voor een website heb ik een klein contact formulier dat verzonden wordt door middel van php.

Nu verzend het script het formulier wel en laat het bedankje zien. Enkel woorden de veldwaardes niet mee doorgestuurd. Met andere woorden, alles wat ingevuld wordt, kan je niet zien in de mail die je ontvangt.

Is er iemand met betere kennis van het programmeren die mee de fout kan zoeken?

Alvast bedankt bij voorbaat.


Met vriendelijke groeten,


MVP


Code:
<?php
if (isset($_POST['submit'])) {

$recipient = "[email protected]";
$subject = "Contactformulier";
$header = "From: " . $email . "\n";
$mail_body = "Het contactformulier werd op " .date("d-m-Y") . " om " .date("H:i") . " uur uitgevoerd.\n";
$mail_body .= "De volgende gegevens werden ingevoerd:\n\n";
$mail_body .= "Naam: " . $naam . "\n";
$mail_body .= "E-mailadres: " . $email . "\n\n";
$mail_body .= "Vraag:\n";
$mail_body .= "\n" . $vraag . "\n\n -- Eind van het automatisch gegenereerde bericht --";
mail($recipient, $subject, $mail_body, $header);

echo "Hartelijk dank voor uw reactie.";

} else {
?>
                
<form action="<?php echo $PHP_SELF ?>" method="POST">
<table cellspacing="2" cellpadding="2">
	<tr>
		<td width="40%" class="klein">Voer hier uw naam in:</td>
		<td width="60%"><input type="text" name="naam" size="35" /></td>
	</tr>

	<tr>
		<td width="40%" class="klein">Voer hier uw e-mail adres in:</td>
		<td width="60%"><input type="text" name="email" size="35" /></td>
	</tr>
    
    <tr>
		<td width="40%" class="klein">Uw vraag:</td>
		<td width="60%"><textarea name="vraag" cols="30" rows="3"></textarea></td>
	</tr>
    
    <tr>
    <td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    
    <tr>
    	<td><input type="submit" name="submit" value="Vezenden" /></td>
    </tr>
    
</table>

</form>
<?php
}
?>

adrianhates

Legacy Member
Code:
$naam = $_POST['naam'];
$email = $_POST['email'];
$vraag = $_POST['vraag'];

toevoegen onder

Code:
if (isset($_POST['submit'])) {


en is trouwens af te raden,
ge kunt beter het volgende doen:

Code:
if($_SERVER['REQUEST_METHOD'] == 'POST'){

mvp9

Legacy Member
Hartelijk bedankt, het formulier werkt perfect!

Mag ik ook vragen waarom het af te raden is? (ik heb het inmiddels al veranderd)

adrianhates

Legacy Member
De waarde van een submit button wordt niet in elke browser meegestuurd.. Dus $_POST['submit'] is niet altijd gezet :)

ge kunt aanvullend nog wel checken op een hidden inputvalue fzo, ofdat die gezet is!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan