Archief - PHP: Simpel inschrijvingsformulier

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.

giele

Legacy Member
Ik zou graag een klein inschrijvingsformulier willen maken en die op mijn site plaatsen.

de bedoeling is dat mensen hun gegevens invullen, waarna ze op "Inschrijven" klikken. De gegevens van de inschrijver zullen naar een amailadres moeten. En de inschrijver krijgt dan van mij automatisch een bevestigingsmail met meer uitleg.

Hoe begin ik hier best aan?

hier is een lijstje wat er op moet komen;

Naam
Voornaam
Straat
Gemeente
personeelsnummer (indien men dat heeft)
neemnt u deel aan: * 40Km
* 120Km


Is zoiets snel ineen te steken? IEmand met ervaring op dat vlak?

Bedankt alvast! :bow:

joyraider

Legacy Member
Is zeer simpel op te zetten, je moet wel aandachtig volgen ;) Er zullen wel tutorials hiervoor zijn, maar hell - I'm bored :p

Eerst en vooral, we zullen voor de duidelijkheid met 2 pagina's werken: inschrijven.php en submit.php. Op inschrijven.php komt het formuliertje, in submit.php het verwerken (in jouw geval: e-mailen). Je kunt het ook in één pagina doen, maar als PHP-beginner zul je er dan weinig meer van snappen...

Op inschrijven.php komt het volgende:

<html><head>blabla, met in de body het formulier:


HTML:
<form name="inschrijven" action="submit.php" method="POST">
<p>Naam: <input type="text" name="naam" /></p>
<p>Voornaam: <input type="text" name="voornaam" /></p>
<p>Straat: <input type="text" name="straat" /></p>
<p>Gemeente: <input type="text" name="gemeente" /></p>
<p>Personeelsnummer: <input type="text" name="pnr" /></p>
<p>Ik neem deel aan: <select name="aantalkm">
<option value="40km">40 kilometer</option>
<option value="120km">120 kilometer</option>
</select></p>
<p><input type="submit" value=" Inschrijven " /></p>
</form>

Gewoon een standaard-formuliertje dus, zonder opmaak of iets (mijn select option zal ook wel niet volledig valid zijn, maar bon).

Vervolgens maken we submit.php:

Ook hier de gebruikelijke <html><head><body> etc, en vervolgens komt de PHP in de body.

Eerst gaan we de gegevens van het formulier ophalen, met de volgende regels:

PHP:
<?php
$naam = $_POST['naam'];
$voornaam = $_POST['voornaam'];
$straat = $_POST['straat'];
$gemeente = $_POST['gemeente'];
$pnr = $_POST['pnr'];
$aantalkm = $_POST['aantalkm'];

We hebben nu een aantal variabelen, die de waarde van elk formulier-veld toegewezen kregen. Als ik in het formulier bijvoorbeeld bij naam "Bert" heb ingevuld, is de waarde van $naam nu "Bert" (nogal logisch).

Nu moet de boel doorgemaild worden:

PHP:
mail("[email protected]", "$voornaam $naam heeft zich ingeschreven", "$voornaam $naam heeft zich ingeschreven met de volgende gegevens: \n\n $naam $voornaam \n $straat \n $gemeente \n $pnr \n $aantalkm", "From: Inschrijving<[email protected]>\nReturn-path: [email protected]");

Dit is gewoon het mail-commando van PHP. Dit ziet er waarschijnlijk enorm messy uit, maar eigenlijk bestaat dit gewoon uit het volgende:

mail(emailadres, onderwerp, inhoud, headers);

Bij de inhoud gebruik je "\n" als <enter>, om naar een nieuwe regel te gaan. Je kunt een tweede mail-commando erbij zetten als je de inschrijver ook wil mailen, maar dan moet je wel zijn e-mailadres vragen in het formulier :) Meer info over mail() hier: http://be2.php.net/manual/nl/function.mail.php

Tenslotte zetten we in submit.php nog even een regeltje dat de persoon is ingeschreven (heb er geen foutafhandeling o.i.d. bijgezet, omdat dit wat ingewikkelder zou worden en ik ken er zelf ook niet veel van :p):

PHP:
echo "U bent ingeschreven! Controleer uw e-mail ter bevestiging.";
?>

That should do it :)

Zir0h

Legacy Member
Best nog een coltrole of alle velden zijn ingevuld etc... :)

joyraider

Legacy Member
The_Assman zei:
Best nog een coltrole of alle velden zijn ingevuld etc... :)

Mja, mss wel :) Ipv het mail-commando wordt het dan gewoon zoiets:

PHP:
if ($naam == "" || $voornaam == "" || $straat == "" || $gemeente = "" || $pnr == "" || $aantalkm == "") {
echo "U hebt niet alle velden ingevuld!";
} else {
mail(blabla);
echo "U bent ingeschreven";
}

Zal ook wel kortere/betere manier voor zijn maar soit :)

killgore

Legacy Member
en beter is:


PHP:
$naam = isset($_POST["naam"])? $_POST["naam"] : "";
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