Mail contact formulier
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!
https://www.phphulp.nl/zoeken/contact/
Hier staat toch wel wat tussen.
En deze zie ik ook veel gebruikt worden:
https://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/
Hier staat toch wel wat tussen.
En deze zie ik ook veel gebruikt worden:
https://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/
Gewijzigd op 08/08/2016 15:44:51 door - Ariën -
Dacht ik ook; allemaal geprobeerd maar geen eentje compleet of met de velden die ik zoek.
Dan kan je proberen die erbij te maken. gewoon even logisch kijken en wat proberen ;-)
Gewijzigd op 08/08/2016 15:51:23 door Frans Muller
Gewoon even logisch kijken en proberen.
En als het niet lukt, laat eens zien waarop je vastloopt.
Gewijzigd op 08/08/2016 15:54:06 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<form>
Naam<br>
<input type="text" name="naam"><br>
Woonplaats<br>
<input type="text" name="woonplaats"><br>
E-mailadres:<br>
<input type="text" name="email"><br>
Vraag:<br>
<textarea name="vraag"></textarea><br>
<input type="submit" value="Knop">
</form>
Naam<br>
<input type="text" name="naam"><br>
Woonplaats<br>
<input type="text" name="woonplaats"><br>
E-mailadres:<br>
<input type="text" name="email"><br>
Vraag:<br>
<textarea name="vraag"></textarea><br>
<input type="submit" value="Knop">
</form>
Lukt het je om hier het vak 'telefoon' toe te voegen als begin?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<form>
Naam<br>
<input type="text" name="naam"><br>
Woonplaats<br>
<input type="text" name="woonplaats"><br>
E-mailadres:<br>
<input type="text" name="email"><br>
Telefoon<br>
<input type="text" name="telefoon"><br>
Vraag:<br>
<textarea name="vraag"></textarea><br>
<input type="submit" value="Knop">
</form>
Naam<br>
<input type="text" name="naam"><br>
Woonplaats<br>
<input type="text" name="woonplaats"><br>
E-mailadres:<br>
<input type="text" name="email"><br>
Telefoon<br>
<input type="text" name="telefoon"><br>
Vraag:<br>
<textarea name="vraag"></textarea><br>
<input type="submit" value="Knop">
</form>
zo?
Gewijzigd op 08/08/2016 16:47:17 door - Ariën -
Ja, probeer dat ook eens in het script waar je naar toe refereerde.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<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 " />
<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 " />
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 08/08/2016 16:47:49 door - Ariën -
In $_POST['telefoon'] staat de waarde van het telefoon-veld vermeldt. Kijk ook eens naar de regels van $inhoud_mail.
Gewijzigd op 08/08/2016 16:49:18 door - Ariën -
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))
{
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:
Gewijzigd op 08/08/2016 17:14:20 door - Ariën -
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.
laat anders even je relevante code zien die je tot nu toe hebt (tussen code-tags)
@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)