Hoe moet ik deze contactformulier versturen dmv een php script?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Ontwikkelaar

Opdrachtbeschrijving Het scrumteam houdt zich bezig met boeiend en zichtbaar werk waarin allerlei kanten van de IT aan bod komen zoals gebruikersinteractie, belastingdienst java ontwikkelstraat, databases en koppelvlakken. Dit team ontwikkelt verschillende applicaties voor Dienstverlening waaronder GID(Generiek Informaten Desktop). Dit is een applicatie die de medewerkers van de Belastingtelefoon gebruiken voor het beantwoorden van vragen. Tevens werkt het team aan de ontwikkeling van bestaande en nieuwe formulieren voor verschillende portalen (Douane, Zakelijke en Burger) en diverse generieke voorzieningen.Performance en security zijn vanzelfsprekend uitermate belangrijke aspecten. In het team wordt bovendien veel aandacht besteed aan kwaliteit, onder andere door middel van

Bekijk vacature »

Karin Keshie

Karin Keshie

10/02/2020 21:42:59
Quote Anchor link
Hallo allemaal,

Ik ben nieuw hier en ben ook niet echt heel slim op het gebied van PHP. Ik heb een klein projectje waar ik aan werk en heb een contactformulier gemaakt. Om deze werkend te krijgen, heb ik jullie hulp of advies nodig. Ik heb nu alleen een contactformulier via html gemaakt, maar heb begrepen dat er nog een php script gemaakt moet worden om dat formulier dus werkend te krijgen.

Kan iemand mij hiermee helpen of op weg helpen of mij uitleggen hoe ik dit maak?

Mijn dank is groot!

Gr.

Karin



[­code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Aanmeldingsformulier</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<script type="text/javascript" src="view.js"></script>
<script type="text/javascript" src="calendar.js"></script>
</head>
<body id="main_body" >

<img id="top" src="top.png" alt="">
<div id="form_container">

<h1><a>Aanmeldingsformulier</a></h1>
<form id="form_97395" class="appnitro" method="post" action="mailto:design-ki@outlook.com">
<div class="form_description">
<a href=""><P align=right><img id="" class="" src="images/back-black.png" alt="">Ga terug
</a></p>
<h2>Aanmeldingsformulier</h2>
<p>Vul hieronder jouw gegevens in en kies jouw abonnement uit!</p>
</div>
<ul >

<li id="li_1" >
<label class="description" for="element_1">Startdatum Lidmaatschap </label>
<span>
<input id="element_1_1" name="element_1_1" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_1_1">Dag</label>
</span>
<span>
<input id="element_1_2" name="element_1_2" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_1_2">Maand</label>
</span>
<span>
<input id="element_1_3" name="element_1_3" class="element text" size="4" maxlength="4" value="" type="text" required>
<label for="element_1_3">Jaar</label>
</span>

<span id="calendar_1">
<img id="cal_img_1" class="datepicker" src="images/calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_1_3",
baseField : "element_1",
displayArea : "calendar_1",
button : "cal_img_1",
ifFormat : "%B %e, %Y",
onSelect : selectEuropeDate
});
</script>

</li> <li id="li_5" >
<label class="description" for="element_5">Naam </label>
<span>
<input id="element_5_1" name= "element_5_1" class="element text" maxlength="255" size="8" value="" required/>
<label>Voornaam</label>
</span>
<span>
<input id="element_5_2" name= "element_5_2" class="element text" maxlength="255" size="14" value="" required/>
<label>Achternaam</label>
</span>
</li> <li id="li_6" >
<label class="description" for="element_6">Geboortedatum </label>
<span>
<input id="element_6_1" name="element_6_1" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_6_1">Dag</label>
</span>
<span>
<input id="element_6_2" name="element_6_2" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_6_2">Maand</label>
</span>
<span>
<input id="element_6_3" name="element_6_3" class="element text" size="4" maxlength="4" value="" type="text" required>
<label for="element_6_3">Jaar</label>
</span>

<span id="calendar_6">
<img id="cal_img_6" class="datepicker" src="images/calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_6_3",
baseField : "element_6",
displayArea : "calendar_6",
button : "cal_img_6",
ifFormat : "%B %e, %Y",
onSelect : selectEuropeDate
});
</script>


</li> <li id="li_4" >
<label class="description" for="element_4">Adresgegevens </label>

<div>
<input id="element_4_1" name="element_4_1" class="element text large" value="" type="text" required>
<label for="element_4_1">Straat + huisnummer</label>
</div>

<div>
<input id="element_4_2" name="element_4_2" class="element text large" value="" type="text">
<label for="element_4_2">Toevoeging</label>
</div>

<div class="left">
<input id="element_4_3" name="element_4_3" class="element text medium" value="" type="text" required>
<label for="element_4_3">Plaats</label>
</div>

<div class="right">
<input id="element_4_4" name="element_4_4" class="element text medium" value="" type="text">
<label for="element_4_4">Provincie</label>
</div>

<div class="left">
<input id="element_4_5" name="element_4_5" class="element text medium" maxlength="15" value="" type="text" required>
<label for="element_4_5">Postcode</label>
</div>


</li> <li id="li_7" >
<label class="description" for="element_7">Telefoonnummer </label>
<div>
<input id="element_7" name="element_7" class="element text medium" type="text" maxlength="255" value="" required/>
</div>
</li> <li id="li_8" >
<label class="description" for="element_8">E-mailadres </label>
<div>
<input id="element_8" name="element_8" class="element text large" type="text" maxlength="255" value="" required/>
</div>
</li> <li class="section_break">
<h4>Abonnementsvormen</h4>
<p></p>
</li> <li id="li_19" >

</li> <li id="li_20" >
<label class="description" for="element_20">Abonnementen</label>
<span>
<input id="element_20_1" name="element_20" class="element radio" type="radio" value="1" />
<label class="choice" for="element_20_1">Pakket A</b></label>
<input id="element_20_1" name="element_20" class="element radio" type="radio" value="2" />
<label class="choice" for="element_20_1">Pakket B</b></label>
<input id="element_20_2" name="element_20" class="element radio" type="radio" value="3" />
<label class="choice" for="element_20_2">Pakket A</b></label>
<input id="element_20_2" name="element_20" class="element radio" type="radio" value="4" />
<label class="choice" for="element_20_2">Pakket A</b></label>
</span> </li>


</li> <li class="section_break">
<h4>Incasso machtiging</h4>
<p></p>
</li> <li id="li_12" >
<label class="description" for="element_12">Rekeningnummer (IBAN) </label>
<div>
<input id="element_12" name="element_12" class="element text medium" type="text" maxlength="255" value="" required/>
</div>
</li> <li id="li_13" >
<label class="description" for="element_13">Naam rekeninghouder </label>
<div>
<input id="element_13" name="element_13" class="element text medium" type="text" maxlength="255" value="" required/>
</div>
</li> <li id="li_14" >
<label class="description" for="element_14">Datum machtiging </label>
<span>
<input id="element_14_1" name="element_14_1" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_14_1">Dag</label>
</span>
<span>
<input id="element_14_2" name="element_14_2" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_14_2">Maand</label>
</span>
<span>
<input id="element_14_3" name="element_14_3" class="element text" size="4" maxlength="4" value="" type="text" required>
<label for="element_14_3">Jaar</label>
</span>

<span id="calendar_14">
<img id="cal_img_14" class="datepicker" src="images/calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_14_3",
baseField : "element_14",
displayArea : "calendar_14",
button : "cal_img_14",
ifFormat : "%B %e, %Y",
onSelect : selectEuropeDate
});
</script>

</li> <li id="li_15" >
<label class="description" for="element_15">Plaats </label>
<div>
<input id="element_15" name="element_15" class="element text medium" type="text" maxlength="255" value="" required/>
</div>
</li> <li class="section_break">
<h3>Door ondertekening van dit formulier geeft u toestemming aan:

UniteFit om doorlopend incasso-opdrachten te sturen naar uw bank om een bedrag van uw rekening af te schrijven en uw bank om doorlopend een bedrag van uw rekening af te schrijven overeenkomstig de opdracht van UniteFit.</h3>
<p></p>
</li> <li id="li_22" >
<label class="description" for="element_22">Machtiging tot maandelijkse afschrijving </label>
<span>
<input id="element_22_1" name="element_22_1" class="element checkbox" type="checkbox" value="1" required/>
<label class="choice" for="element_22_1" required>Akkoord</label>

</span>
</li> <li id="li_18" >
<label class="description" for="element_18">Datum </label>
<span>
<input id="element_18_1" name="element_18_1" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_18_1">Dag</label>
</span>
<span>
<input id="element_18_2" name="element_18_2" class="element text" size="2" maxlength="2" value="" type="text" required> /
<label for="element_18_2">Maand</label>
</span>
<span>
<input id="element_18_3" name="element_18_3" class="element text" size="4" maxlength="4" value="" type="text" required>
<label for="element_18_3">Jaar</label>
</span>

<span id="calendar_18">
<img id="cal_img_18" class="datepicker" src="images/calendar.gif" alt="Pick a date.">
</span>
<script type="text/javascript">
Calendar.setup({
inputField : "element_18_3",
baseField : "element_18",
displayArea : "calendar_18",
button : "cal_img_18",
ifFormat : "%B %e, %Y",
onSelect : selectEuropeDate
});
</script>

</li> <li class="section_break">
<h3>Hierbij verklaar ik bij inschrijving kennis te hebben genomen van de Algemene Voorwaarden en de huisregels van UniteFit en ga akkoord met de inhoud ervan. In de bijvoegende Algemene Voorwaarden vind je meer informatie over de looptijd van de overeenkomst.</h3>
<p></p>
</li> <li id="li_21" >
<label class="description" for="element_21">Verklaring </label>
<span>
<input id="element_21_1" name="element_21_1" class="element checkbox" type="checkbox" value="1" required/>
<label class="choice" for="element_21_1" required>Akkoord</label>

</span>
</li>

<li class="buttons">
<input type="hidden" name="form_id" value="97395" />

<input id="saveForm" class="button_text" type="submit" name="submit" value="Aanmelden" />
</li>
</ul>
</form>
<div id="footer">
<font size="4">Ga terug naar de webpagina van <a href="</a></font>
</div>
</div>
<img id="bottom" src="bottom.png" alt="">
</body>
</html>
[­/code]

Toevoeging op 10/02/2020 21:46:09:

Ik zou het zeer op prijs stellen als iemand mij hiermee kan helpen of op weg helpen naar een werkend contactformulier/php script.

Super bedankt!!
Gewijzigd op 15/02/2020 00:42:39 door - Ariën -
 
PHP hulp

PHP hulp

20/02/2020 16:09:22
 
Michael -

Michael -

10/02/2020 22:30:34
Quote Anchor link
Plaats even je code tussen code-tags [­code][­/code] zie ook de Veelgestelde vragen
Dat maakt de code beter leesbaar.
En je kunt vast wel een beter titel bedenken dan "Kan iemand mij AUB helpen???"
Plaats in je titel wat je precies wil, bijv "hoe verstuur in een html formulier".

Om de data van je formulier in PHP te krijgen, gebruik je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {

}

?>

Hier binnen kun je alle POST variabelen aanspreken. Stel dat je een input veld hebt met de naam "emailadres" dan kun je $_POST['emailadres'] aanroepen. Hier zit de waarde van het veld dan in.
Let er wel op dat je dit altijd moet escapen wanneer je dit weergeeft. Dit om te voorkomen dat er code kan worden uitgevoerd via het inputveld door kwaadwillenden. Bijv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['emailadres'])) { // Als deze waarde bestaat.. Dit betekent nog niet of deze gevuld of leeg is..
        echo htmlspecialchars($_POST['emailadres']);
    }
}

?>
Gewijzigd op 10/02/2020 22:43:29 door Michael -
 
- Ariën -
Beheerder

- Ariën -

10/02/2020 23:30:14
Quote Anchor link
Edit:

Zou je de code van jouw script tussen [code] en [/code] tags kunnen plaatsen? Zie ook de Opmaakcodes in de 'Veelgestelde vragen'. Daarnaast zien we graag een titel die jouw probleem of vraagstelling beschrijft. Iets als 'Kan iemand mij AUB helpen???' is niet bepaald duidelijk.

Alvast bedankt!
Gewijzigd op 10/02/2020 23:31:09 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

11/02/2020 01:36:11
Quote Anchor link
Even voor de beeldvorming: op dit moment is de doellocatie van dit formulier een e-mailadres. Deze informatie staat in het zogenaamde action-attribuut van de <form> tag: action="mailto:xxx@outlook.com". Dit bepaalt waar de informatie in het formulier naartoe wordt gestuurd en welk proces of ding het formulier verder verwerkt.

In de huidige opzet wordt de informatie van dit formulier aan het standaard e-mail programma op de computer waar je dit formulier op invult overgedragen.

Als je wilt dat PHP(-code) het formulier na versturen verwerkt dan zal je dus de doellocatie - het action="..." gedeelte - moeten laten verwijzen naar een PHP-bestand of een webadres waar deze PHP-code zich bevindt.

En daarmee komen we meteen bij het volgende puntje: jouw webhost waar je het contactformulier en de afhandeling hebt staan zal dus PHP moeten ondersteunen/kunnen begrijpen om deze afhandeling "aan de webserverkant" verder te kunnen verzorgen.

Het hoeft trouwens ook niet per se PHP te zijn zolang je maar een proces hebt (meestal een zogenaamde server side scripting taal) die het versturen van een formulier verder af kan handelen.

Ook is het verstandig om enige voorzieningen in het contactformulier in te bouwen op te voorkomen dat je overspoeld wordt door spam, zoals een CAPTCHA, bijvoorbeeld die van Google.

Maar dit (alles) vergt wel enige knowhow.

EDIT: en als je dan toch aan het overwegen bent om e.e.a. te automatiseren is het wellicht een idee om dit niet via (platte) e-mail te laten verlopen maar meteen alles weg te schrijven naar een database zodat je meteen alle informatie op een gestructureerde manier kunt bijhouden want je boekhouding/administratie via e-mail laten verlopen is nou niet bepaald optimaal.

Uit nieuwsgierigheid: wat gebeurt er normaal verder met zo'n mailtje? Wordt die informatie overgetypt/geplakt in een CRM pakket ofzo?
Gewijzigd op 11/02/2020 01:38:59 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

11/02/2020 08:02:52
Quote Anchor link
Nog even een goede tip:
Zorg voor duidelijke naamgeving in je formulier-elementen. Want element_1_2 is niet bepaald duidelijk.

Lees ook even de dikgedrukte 'moderatie' in dit topic.
Gewijzigd op 11/02/2020 08:11:34 door - Ariën -
 
Karin Keshie

Karin Keshie

12/02/2020 20:26:00
Quote Anchor link
Hoi,

Ik heb in mijn bericht de [­code][­/code] en hoop dat het zo goed is. Tevens heb ik ook de titel aangepast van mijn vraag.

Hoe lief het ook is dat jullie hebben gereageerd, ik ben er nog niet echt wijzer van geworden.

Hoor graag of iemand mij hiermee kan helpen?

Bedankt!

Toevoeging op 12/02/2020 20:29:30:

Michael - op 10/02/2020 22:30:34:
Plaats even je code tussen code-tags [­code][­/code] zie ook de Veelgestelde vragen
Dat maakt de code beter leesbaar.
En je kunt vast wel een beter titel bedenken dan "Kan iemand mij AUB helpen???"
Plaats in je titel wat je precies wil, bijv "hoe verstuur in een html formulier".

Om de data van je formulier in PHP te krijgen, gebruik je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {

}

?>

Hier binnen kun je alle POST variabelen aanspreken. Stel dat je een input veld hebt met de naam "emailadres" dan kun je $_POST['emailadres'] aanroepen. Hier zit de waarde van het veld dan in.
Let er wel op dat je dit altijd moet escapen wanneer je dit weergeeft. Dit om te voorkomen dat er code kan worden uitgevoerd via het inputveld door kwaadwillenden. Bijv:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(isset($_POST['emailadres'])) { // Als deze waarde bestaat.. Dit betekent nog niet of deze gevuld of leeg is..
        echo htmlspecialchars($_POST['emailadres']);
    }
}

?>


Heb ik het zo goed gedaan?


Toevoeging op 12/02/2020 20:30:37:

- Ariën - op 10/02/2020 23:30:14:


Zou je de code van jouw script tussen [code] en [/code] tags kunnen plaatsen? Zie ook de Opmaakcodes in de 'Veelgestelde vragen'. Daarnaast zien we graag een titel die jouw probleem of vraagstelling beschrijft. Iets als 'Kan iemand mij AUB helpen???' is niet bepaald duidelijk.

Alvast bedankt!

[/modedit]


Hoi Ariën,

Ik heb het aangepast en hoop dat het zo goed is.

Bedankt.
 
Michael -

Michael -

12/02/2020 20:51:02
Quote Anchor link
Zoals je ziet staat je code nog niet in een code vak zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Hier jouw code


Typ zelf even [ code ] en [ /code ] (zonder spaties!) voor en achter je code.

Zoek je nou iemand die je script op maat maakt? Heb je al iets geprobeerd of zelf opgezocht? Wij zijn phpHULP, we verwachten ook wel dat je zelf iets probeert. Anders kun je het kwijt in Vacatures
Gewijzigd op 12/02/2020 20:55:33 door Michael -
 
- Ariën -
Beheerder

- Ariën -

12/02/2020 21:02:36
Quote Anchor link
Mja, er gaat iets met met de code-tags. Vermoedelijk sinds een recente wijziging hier.


Maar als Karin kan laten zien wat ze al gevonden heeft over het probleem, dan is het fijn.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.