Hallo,

Mijn naam is Wim en ik ben nieuw in het knutselen met PHP. Voor een mini website heb ik een contactformulier gemaakt (index.php => <form method="post" action="mail.php">.

Dit is de PHP code uit mail.php:
<?php
$maymail = false;
$naam = $_POST["naam"];
$adres = $_POST["adres"];
$postcode = $_POST["postcode"];
$gemeente = $_POST["gemeente"];
$tel = $_POST["tel"];
$email = $_POST["email"];
$opmerking = $_POST["opmerking"];

$bestemmeling = "[email protected]";
$onderwerp = "Contactformulier";
$bericht = "Volgende gegevens werden ingevuld : \n\n";
$bericht .= "Naam: ".$naam."\n";
$bericht .= "Adres: ".$adres."\n";
$bericht .= "Postcode: ".$postcode."\n";
$bericht .= "Gemeente: ".$gemeente."\n";
$bericht .= "Tel: ".$tel."\n";
$bericht .= "E-mail: ".$email."\n";
$bericht .= "Opmerking: ".$opmerking."\n";

$headers = "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: ".$email."<".$email.">\n";
$headers .= "Reply-To: ".$email."<".$email.">\n";
$headers .= "Return-Path: ".$email."<".$email.">\n";

mail($bestemmeling,$onderwerp,$bericht,$email);
echo '<br>Bedankt, de gegevens werden succesvol verzonden!';
echo '<br>Wij bellen U eerstdaags op om een afspraak te maken.';
?>

Graag had ik er nog een controle opgestoken maar ik weet niet hoe er aan te beginnen.
Naam: mag niet leeg zijn
Adres: mag niet leeg zijn
Postcode: moet bestaan uit 4 cijfers, niet meer en niet minder
Gemeente: mag niet leeg zijn
Tel: mag niet leeg zijn
E-mail: controleren of e-mail adres geldig is
Opmerking: geen controle

Kan iemand mijn code wat aanpassen en wat op weg helpen?

Alvast bedankt!
Geen vars nutteloos copiƫren - regels 3 t/m 9
$bestemmeling - je bedoelt waarschijnlijk $bestemming

Kijk eens naar:
isset() - kijkt of een var bestaat of niet
trim() - haal je whitespace mee weg
mail() - je parameters zijn niet goed
htmlentities() - beveilig je input als je het output
emailadres - http://phpwiki.santhe.nl/index.php/Check_het_emailadres_op_juistheid
mailheaders zijn niet juist - http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
Controle op niet leeg zijn:
1 - check met isset() of het betreffende element in de $_POST array wel bestaat
2 - check of de (getrimde) string die dan meegegeven is niet leeg is

Neem als voorbeeld naam:

<?php
if ( isset($_POST["naam"]) && trim($_POST["naam"]) != "" ){
  //invoer is ok
} else {
  //niet ok
}
?>

Zorg wel dat je deze twee checks op deze manier test. Zet je het andersom in je if statement en $_POST["naam"] bestaat niet dan zal php een error geven omdat je een niet bestaande variabele evalueert.
Vorige problemen zijn ondertussen allemaal opgelost, maar aangezien ik nog altijd een beetje nieuw ben kom ik alweer met een nieuw klein probleempje.

situatie: wanneer het form verstuurt wordt is het onderwerp ...

$onderwerp = "Pronostiek speeldag 6 van ".$naam;


Deze code staat in mail.php, ik wil dat nr 6 automatisch gewijzigd wordt met een nummer die in een hidden field staat in index.php (startpagina met form, action mail.php)

<input id="speeldag" name="speeldag" type="hidden" value="6">


Bij een update moet ik dan enkel maar index.php wijzigen en niet de code in mail.php

Alvast bedankt
Zelf al wat geprobeerd?
$onderwerp = "Pronostiek speeldag ".$speeldag." van ".$naam;
yes, en dat gaf blijkbaar error
Wat voor error??

En met $onderwerp = "Pronostiek speeldag ".$_POST['speeldag']." van ".$naam;
opgelost

zit momenteel op mijn laptop en browser had pagina niet gerefreshed, na wissen geschiedenis werkt het wel, toch bedankt om mij te helpen

Reageren