Kan iemand mij Alstublieft helpen aan de php code voor een eenvoudig mail contact formulier waarop bezoekers aan een website aan kunnen geven: Naam*, Woonplaats, Telefoon*, E-Mailadres*, en Vraag* (met de *velden verplicht). De formulieren die ik op de site kan vinden zijn allemaal oud of incompleet en de 'gratis' formulierservices die aangeboden worden geven allemaal reclame. Ik heb geen ervaring in php en het duurt te lang voor ik het geleerd heb, dus: Please! Help!
Sorry; nu loopt de hele boel vast en wil de server niet publiceren; Alstublieft, Help!
zie de code: (of zal het me helpen de hele code te copieren?



// HTML e-mail formlier
echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>

<label for="naam">Naam:</label><br />
<input type="text" id="naam" name="naam" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />

<label for="mail">E-mailadres:</label><br />
<input type="text" id="mail" name="mail" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br />

<label for="telefoon">Telefoon:</label><br />
<input type="text" id="telefoon" name="telefoon" value="' . (isset($_POST['telefoon']) ? htmlspecialchars($_POST['telefoon']) : '') . '" /><br />

<label for="onderwerp">Onderwerp:</label><br />
<input type="text" id="onderwerp" name="onderwerp" value="' . (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />

<label for="bericht">Bericht:</label><br />
<textarea id="bericht" name="bericht" rows="8" style="width: 400px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br />

<input type="submit" name="submit" value=" Versturen " />
</p>
</form>';
}
// versturen naar
else
{
// set datum
$datum = date('d/m/Y H:i:s');

$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier " . $_SERVER['HTTP_HOST'] . "\n";
$inhoud_mail .= "===================================================\n\n";

$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\n";
$inhoud_mail .= "Telefoon:": " . htmlspecialchars($_POST['telefoon']) . "\n";
$inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";

$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$inhoud_mail .= "===================================================\n\n";

// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
// ------

$headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';

$headers = stripslashes($headers);
$headers = str_replace('\n', '', $headers); // Verwijder \n
$headers = str_replace('\r', '', $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

$_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes

if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
{
Wat heb je precies aangepast? En wat gebeurt er precies?
verder hebben we hier ook [code] en [/code] tags voor in het forum, als je scripts wilt plaatsen.

Update: Je hebt een dubbele punt teveel staan in de regel van $inhoud_mail waar je telefoonnummer in staat. Dit moet wel werken:


 $inhoud_mail .= "Telefoon: " . htmlspecialchars($_POST['telefoon']) . "\n";
Heb bij HTML de 2e regel gefopieerd en in de kopie 'mail' vervangen door 'telefoon'
bij $inhoud mail kopieerde ik de 2e regel en veranderde "e-mailadres" in "Telefoon"
als laatste kopieerde ik de 2e regels van $_POST en plakte die als regel 3
dat was het.
Als ik na plaatsing op de website de pagina probeer op te roepen krijg ik een HTTP500 melding. Blijkbaar pakt de server de aangepaste pagina niet.
Mijn aanpassing al gezien?
laat anders even je relevante code zien die je tot nu toe hebt (tussen code-tags)
Na je laatste aanpassing werkt de vragenlijst weer. Nu nog puzzelen om het veld 'Telefoon' ook verplicht te maken. Als ik elk willekeurig ander veld niet invul kan ik niet versturen maar dat werkt dus nog niet bij het Telefoonveld.
@Arien: Alvast super bedankt voor je geweldige hulp. Hoog tijd voor mij om verder in php te duiken. zal wel lukken voor m'n 80e denk ik (ben pas 74)

Reageren