Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum.
Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden.
Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.
Team Webprofis
Handleiding verwerken data formulier
Op verzoek van een of meerdere members die graag een handleiding ter beschikking willen hebben over het verwerken van data met een contactformulier.
Hieronder een handleiding hoe je met een bestaand formulier de data kan verwerken met php code.
We gebruiken hiervoor een standaard eenvoudig contactformulier.
Onderstaand een eenvoudig contactformulier:
Elk formulier zal er min of meer zo uitzien. Om de inputdata nu te verzenden met php zijn een aantal dingen belangrijk om op te merken:
In de eerste regel zien we dat we de post methode gebruiken om de data te verwerken. Daarnaast zien we een action die leeg is (kom ik later op terug).
De inputvelden:
Merk op dat elke input veld een name attribuut heeft die uniek is voor dat inputveld (mag niet 2 keer hetzelfde name attribuut gebruiken voor de inputvelden).
Welke naam je het name attr.geeft maakt niet uit, maak het echter zo logisch mogelijk voor jezelf.
Het laatste inputveld is de submit met daarin type="submit"; dit inputvleld kan niet ingevuld worden, vandaar type="submit ipv type="text" De value kun je natuurlijk zelf kiezen.
De form alsmede de inputvelden kunnen ook nog id's of classes bij zich hebben maar die zijn niet relevant voor het verwerken van de data.
Hoe nu de ingevulde data uitlezen met php code?
Als eerste gaan we de ingevulde velden uitlezen met php code. Dit doen we met $_POST, ook wel een superglobal genoemd.
We gaan nu de uitgelezen waarde van de inputvelden toekennen aan variabelen.
Dit doen we als volgt:
zo doe je dat ook met de andere inputvelden:
Vervolgens gaan we de body voor de email maken.
We willen graag een nette email maken waarin staat:
Om dit netjes te krijgen voor de emailclient en om alle waardes toe te kennen aan een grote variabele ($body)maken we deze lijst:
Merk op dat vanaf de 2e $body een dot (glue zoals ze het noemen )staat. Dit betekent: de variabele $body krijgt nog meer gegevens aan zich toegekend. Na de eerste toekenning van een waarde moet er een . (dot )gebruikt worden om de andere waardes er ook aan toe te kennen. (glue betekent dus: lijm er aan vast)
De variabele $body heeft nu alle waardes van alle inputvelden bij zich + die van de textarea ( textarea is eigengelijk een gewoon inputveld met dien verstande dat hier meerdere regels in getypt kunnen worden).
Nu is de body voor de email klaar.
Maar een email moet ook een onderwerp hebben.
dit ondeerwerp kun je zelf bepalen bijv: Contactformulier.
We maken een variabele waarin de naam"Contactformulier" gekoppeld wordt aan die variabele:
Waar moet de email naar toe gezonden worden?
Ook hier weer maken we een variabele met het emailadres erin waar de email naartoe gezonden dient te worden:
$ontvanger = "jouw@email.com";
En als laatste hebben we nog een zgn header nodig; daarin staat o.a. waar de email van afkomstig is ( anders wordt het al snel door een emailclient als spam gezien en dat willen we niet. Maar er staat ook in de MIME version en het Content-Type (welke soort data wordt verstuurd). Lees hier meer over: http://nl.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions. Deze waardes zijn belangrijk voor de emailclients zodat ze weten met welke soort data ze te maken hebben.
Alles op een rijtje hebben we nu:
Nu gaan we de email verzenden:
We gbruiken hiervoor het mail command.
Binnen het mail command hebben we 4 parameters: de ontvanger, het onderwerp de body en de headers, allen gescheiden met een komma.
We doen hier een check op met een if/else loopje:
Allereerst maken we het mail command weer onderdeel van een variabele genaamd $formsent
Dit hoeft niet perse maar persoonlijk vind ik het overzichtelijker om dit even apart toe te kennen.
Het loopje:
De inhoud van de echo's kun je natuurlijk zelf bepalen.
We hebben nu een alles klaar om de data uit te lezen, toe te kennen aan variabelen en die vlg mail command te verzenden.
Het enige wat me nu nog moeten bepalen is hoe deze php code wordt aangeroepen als je op de sumbit drukt van ons formulier (Verzendknop).
Daarin hebben we verschillende mogelijkheden. Dit bepalen we met de action in ons fomulier.
1. Willen we de verzending ( en de echos' ) laten geschieden op dezelfde pagina als het formulier staat? Dan blijft onze action leeg (action="") en zetten we de hele php code boven het formulier.
Wat nu belangrijk is is te checken of ons formulier op een html pagina staat (.html). Omdat er nu op dezelfde pagina php code staat moeten we de .html extensie vervangen door .php extensie; anders worst de php code neit uitgevoerd omdat de php server alleen maar pagina's met .php op het eind kan lezen.
We gebruiken hiervoor weer een if loopje. Waarom doen we dat?
Als we deze code (php en ons formulier) op een pagina zetten bijv.contact.php dan zullen er onmiddelijk een aantal errors op het beeld komen. Waarom? De php server zal beginnen met de php code en komt erachter dat de variabelen nog leeg zijn, immers we hebben nog niets ingevuld in de inputvelden. Daarom mag hij die code pas gaan lezen nadat we iets hebben ingevuld en op submit hebben gedrukt.
Dus:
of
2. Een andere manier om de php code uit te voeren is de php code los te koppelen van ons formulier.
Hiervoor moeten we de action wel een waarde geven; nl: waar moet ie naartoe gezonden worden als er op submit is gedrukt?
Stel je wilt de php code alleen plaatsen in een bestand verwerk.php en je formulier wil je gewoon blijven houden in bijv. contact.html (dit mag nu .html heten omdat er geen php code meer in staat).
In de action zetten we nu: action="verwerk.php".
Als er nu op submit gedrukt wordt in ons formulier wordt de data doorgestuurd naar verwerk.php en de code in verwerk.php zal de data versturen. Bedenk wel dat de echo's dus uitgevoerd worden op de pagina verwerk.php die verschijnt na het submitten.
3. Nog een andere manier is een soort bedanktpagina te maken waarna je wordt doorgestuurd als de form succesvol verzonden is en een soort fout pgina als verzenden mislukt is.
Het maakt hiervoor niet uit of je methode 1 of 2 kiest hierboven maar ipv een echo stuur je de bezoeker door naar een andere pagina (afh of goed of fout is gegaan).
De pagina's bedankt.html en lislukt.html kun je natuurlijk zelf maken.
Deze basis handleiding alvast gepost voor degenene die erom vroegen, wordt nog aangevuld met spamcheck, verplichte velden etc.
Hieronder een handleiding hoe je met een bestaand formulier de data kan verwerken met php code.
We gebruiken hiervoor een standaard eenvoudig contactformulier.
Onderstaand een eenvoudig contactformulier:
<form method="post" action="">
Naam: <br />
<input type="text" name="naam" />
<br /><br />
Achternaam:<br />
<input type="text" name="achternaam" />
<br /><br />
Adres:<br />
<input type="text" name="adres" />
<br /><br />
Woonplaats:<br />
<input type="text" name="woonplaats" />
<br /><br />
Email: <br />
<input type="text" name="email" />
Bericht:<br />
<textarea name="bericht" style="width: 300px; height: 150px;"></textarea>
<br /><br />
<input type="submit" value="Verzenden" />
</form>
Elk formulier zal er min of meer zo uitzien. Om de inputdata nu te verzenden met php zijn een aantal dingen belangrijk om op te merken:
In de eerste regel zien we dat we de post methode gebruiken om de data te verwerken. Daarnaast zien we een action die leeg is (kom ik later op terug).
De inputvelden:
Merk op dat elke input veld een name attribuut heeft die uniek is voor dat inputveld (mag niet 2 keer hetzelfde name attribuut gebruiken voor de inputvelden).
Welke naam je het name attr.geeft maakt niet uit, maak het echter zo logisch mogelijk voor jezelf.
Het laatste inputveld is de submit met daarin type="submit"; dit inputvleld kan niet ingevuld worden, vandaar type="submit ipv type="text" De value kun je natuurlijk zelf kiezen.
De form alsmede de inputvelden kunnen ook nog id's of classes bij zich hebben maar die zijn niet relevant voor het verwerken van de data.
Hoe nu de ingevulde data uitlezen met php code?
Als eerste gaan we de ingevulde velden uitlezen met php code. Dit doen we met $_POST, ook wel een superglobal genoemd.
We gaan nu de uitgelezen waarde van de inputvelden toekennen aan variabelen.
Dit doen we als volgt:
$Naam = $_POST['naam'];
Wat hierboven staat betekent: Aan de variable Naam ($Naam)ken je de inputwaarde van het inputveld met het attribuur naam toe.zo doe je dat ook met de andere inputvelden:
$Achternaam = $_POST['achternaam'];
$Adres = $_POST['adres'];
$Woonplaats = $_POST['woonplaats'];
$Email = $_POST['email'];
$Bericht = $_POST['bericht'];
We hebben nu alle waarden van de inputvelden aan een variabele gekoppeld. Vervolgens gaan we de body voor de email maken.
We willen graag een nette email maken waarin staat:
Naam: de waarde
Achternaam: de waarde
Adres: de waarde
Woonplaats: de waarde
Email: de waarde
Bericht: het bericht
Om dit netjes te krijgen voor de emailclient en om alle waardes toe te kennen aan een grote variabele ($body)maken we deze lijst:
$body = "";
$body .= "Naam: ";
$body .= $naam;
$body .= "\n";
$body .= "Onderwerp: ";
$body .= $onderwerp;
$body .= "\n";
$body .= "Email: ";
$body .= $email;
$body .= "\n";
$body .= "Bericht: ";
$body .= $bericht;
$body .= "\n";
Hierboven staat nu: de variabele $body krijgt de tekst "Naam" met daarachter de waarde wat bij naam ingevuld is en vervolgens een "\n"; wat een break betekent, (nieuwe regel)Merk op dat vanaf de 2e $body een dot (glue zoals ze het noemen )staat. Dit betekent: de variabele $body krijgt nog meer gegevens aan zich toegekend. Na de eerste toekenning van een waarde moet er een . (dot )gebruikt worden om de andere waardes er ook aan toe te kennen. (glue betekent dus: lijm er aan vast)
De variabele $body heeft nu alle waardes van alle inputvelden bij zich + die van de textarea ( textarea is eigengelijk een gewoon inputveld met dien verstande dat hier meerdere regels in getypt kunnen worden).
Nu is de body voor de email klaar.
Maar een email moet ook een onderwerp hebben.
dit ondeerwerp kun je zelf bepalen bijv: Contactformulier.
We maken een variabele waarin de naam"Contactformulier" gekoppeld wordt aan die variabele:
$onderwerp = "Contactformulier";
Hierboven staat: ken de tekst Contactformulier toe aan de variabele $onderwerpWaar moet de email naar toe gezonden worden?
Ook hier weer maken we een variabele met het emailadres erin waar de email naartoe gezonden dient te worden:
$ontvanger = "jouw@email.com";
En als laatste hebben we nog een zgn header nodig; daarin staat o.a. waar de email van afkomstig is ( anders wordt het al snel door een emailclient als spam gezien en dat willen we niet. Maar er staat ook in de MIME version en het Content-Type (welke soort data wordt verstuurd). Lees hier meer over: http://nl.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions. Deze waardes zijn belangrijk voor de emailclients zodat ze weten met welke soort data ze te maken hebben.
Alles op een rijtje hebben we nu:
// definieren variabelen
$ontvanger = 'jouw@email.com'; // HIEW JOUW EMAIL INVULLEN
$onderwerp = "Contactformulier"; // onderwerp wat in de email te zien is
$naam = $_POST['naam'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];
// headers opmaken
$headers = 'MIME-Version: 1.0';
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: '.$email;
// body voor de email opmaken
$body = "";
$body .= "Naam: ";
$body .= $naam;
$body .= "\n";
$body .= "Achternaam: ";
$body .= $achternaam;
$body .= "\n";
$body .= "Adres: ";
$body .= $adres;
$body .= "\n";
$body .= "Woonplaats: ";
$body .= $woonplaats;
$body .= "\n";
$body .= "Email: ";
$body .= $email;
$body .= "\n";
$body .= "Bericht: ";
$body .= $bericht;
$body .= "\n";
Nu gaan we de email verzenden:
We gbruiken hiervoor het mail command.
Binnen het mail command hebben we 4 parameters: de ontvanger, het onderwerp de body en de headers, allen gescheiden met een komma.
mail($otnvanger, $onderwerp, $body, $headers);
Als we de email verzenden willen we graag weten of dat ook gelukt is en het is voor de klant ook prettig om te weten of zijn ingevulde formulier ook daadwerkelijk verstuurd is.We doen hier een check op met een if/else loopje:
Allereerst maken we het mail command weer onderdeel van een variabele genaamd $formsent
Dit hoeft niet perse maar persoonlijk vind ik het overzichtelijker om dit even apart toe te kennen.
$formsent = mail($ontvanger, $onderwerp, $body, $headers);
Hierboven is het hele mailcommand met de parameters toegekend aan de variabele $formsentHet loopje:
// echo's als email is verzonden
if ($formsent){
echo 'Uw bericht is successvol verstuurd!<br /><br />';
}
else{
echo 'Sorry, maar er is iets misgegaan met het versturen, probeer het later nog eens.';
}
De check vind plaats door de php server. Als de email succesvol de deur uit is geeft ie de melding : Uw bericht is successvol verstuurd!. Omdat het een echo is wordt deze tekst ook op de webpagina getoond. Als het door een of andere oorzaak is mislukt krijgt men de melding: Sorry, maar er is iets misgegaan met het versturen, probeer het later nog eens.De inhoud van de echo's kun je natuurlijk zelf bepalen.
We hebben nu een alles klaar om de data uit te lezen, toe te kennen aan variabelen en die vlg mail command te verzenden.
Het enige wat me nu nog moeten bepalen is hoe deze php code wordt aangeroepen als je op de sumbit drukt van ons formulier (Verzendknop).
Daarin hebben we verschillende mogelijkheden. Dit bepalen we met de action in ons fomulier.
1. Willen we de verzending ( en de echos' ) laten geschieden op dezelfde pagina als het formulier staat? Dan blijft onze action leeg (action="") en zetten we de hele php code boven het formulier.
Wat nu belangrijk is is te checken of ons formulier op een html pagina staat (.html). Omdat er nu op dezelfde pagina php code staat moeten we de .html extensie vervangen door .php extensie; anders worst de php code neit uitgevoerd omdat de php server alleen maar pagina's met .php op het eind kan lezen.
We gebruiken hiervoor weer een if loopje. Waarom doen we dat?
Als we deze code (php en ons formulier) op een pagina zetten bijv.contact.php dan zullen er onmiddelijk een aantal errors op het beeld komen. Waarom? De php server zal beginnen met de php code en komt erachter dat de variabelen nog leeg zijn, immers we hebben nog niets ingevuld in de inputvelden. Daarom mag hij die code pas gaan lezen nadat we iets hebben ingevuld en op submit hebben gedrukt.
Dus:
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// hier de hele php code
} //afsluiten van de if loop
of
if($_POST['submit']) // als er submit heeft plaatsgevonden
{
// hele php code
} //afsluiten van de if loop
2. Een andere manier om de php code uit te voeren is de php code los te koppelen van ons formulier.
Hiervoor moeten we de action wel een waarde geven; nl: waar moet ie naartoe gezonden worden als er op submit is gedrukt?
Stel je wilt de php code alleen plaatsen in een bestand verwerk.php en je formulier wil je gewoon blijven houden in bijv. contact.html (dit mag nu .html heten omdat er geen php code meer in staat).
In de action zetten we nu: action="verwerk.php".
Als er nu op submit gedrukt wordt in ons formulier wordt de data doorgestuurd naar verwerk.php en de code in verwerk.php zal de data versturen. Bedenk wel dat de echo's dus uitgevoerd worden op de pagina verwerk.php die verschijnt na het submitten.
3. Nog een andere manier is een soort bedanktpagina te maken waarna je wordt doorgestuurd als de form succesvol verzonden is en een soort fout pgina als verzenden mislukt is.
Het maakt hiervoor niet uit of je methode 1 of 2 kiest hierboven maar ipv een echo stuur je de bezoeker door naar een andere pagina (afh of goed of fout is gegaan).
// doorsturen naar bedanktpagina
if ($formsent){
header('Location: bedankt.html');
}
else{
header('Location: mislukt.html');
}
De pagina's bedankt.html en lislukt.html kun je natuurlijk zelf maken.
Deze basis handleiding alvast gepost voor degenene die erom vroegen, wordt nog aangevuld met spamcheck, verplichte velden etc.
Login of Registreer om te reageren.
Reacties
Ik zit nu met dit contact-form:
Hoe kan ik al het bovenstaande info erin verwerken dan? De vorig keer ging het wat simpeler toch?
Volgens mij is bovenstaand echt totaal iets nieuws (op) bouwen right?
Hoe kan ik dit bovenstaande hierin verwerken dan? Dan kan ik het vergelijken met die ander... is voor mij beter te volgen :-)
Dank je wel alvast Nuet!
Groet, Carlos!
Deze pagina heeft de volgende form:
Kijk eens goed naar deze form en probeer eens zelf de variabelen te maken die bij de inputvelden horen.
In je form zie je id's en classes maar die zijn alleen interessant voor de styling.
Wat belangrijk is is de action: sendmail.php en de name attributen bij de inputvelden: Dit is alles wat je nodig hebt om de data af te handelen. Lees de handleiding eens rustig door en ga zelf eens stoeien met die materie. Als je ergens niet uitkomt hoor ik het wel.
Dank je man! Nu 3 uur mee lopen stoeien. Ik ben eerlijk gezegd de draad een beetje kwijt. Ik snap er maar weinig van dat PhP gebeuren
Laten we stap voor stap beginnen:
Als allereerst zien we dat de action="sendmail.php" is. Dit kunnen we zo laten staan, maar dat wil dan wel zeggen dat de php code in die sendmail.php moet komen.
We kijken vervolgens naar de inputvelden en de name attributen hiervan.
Dit zijn er 4 in jouw form: De 1e heeft name="name"; we maken vervolgens een variabele die dit veld uitleest: Dit doen we ook met de andere 2: De laatste is de submit, die hoeven we niet uit te lezen.
Je onderwerp van de email wordt bijvoorbeeld: Contactformulier, dus: De ontvanger wordt bijv.carlos@carlos.com:
Dan nu de body opmaken voor de email: En de headers: Vervolgens de mail versturen met echo's:
Als we ervoor kiezen dat deze code in sendmail.php moet komen (zoals de action in de form al weergeeft), zijn we klaar.
De totale code van sendmail.php wordt dan:
Het bestand sendmail.php moet je nu wel plaatsen in dezelfde map als waarin je contactformulier staat, wan de action gaat gelijk naar sendmail.php; als ie in een andere map staat moet je de action aanpassen van de form:
action="pad/naar/sendmail.php"
Dit is wel de meest basale vorm van data uit een contatcformulier verwerken. We hebben geen spamcheck , geen check op het emailveld of hier wel een geldig emailadres is ingevuld.
Probeer dit maar eens eerst uit of het werkt.
Dank je wel man! Echt top dit.
Jou waarde voegt echt iets toe op dit forum!
Ik ga er mee verder stoeien. Ik laat het je weten.
Dank je nogmaals man!
Gr, Carlos!
Ik heb er mee gestoeit. Ik had hetgeen wat jij had gemaakt in de sendmail.php gezet en dat werkte. Alleen kreeg ik na het zenden een witte pagina te zien met de verzend-gelukt boodschap. Ik wil het eigenlijk zo hebben, dat als ik verzonden heb, ik de boodschap dan zie in de huidige vormgeving/pagina. Hoe pak ik dit aan? Is dit veel extra werk? De vorige uitleg bij de andere website ging het wat simpeler toch? Ik hoor t wel. Thanks!
Groet, Carlos!
Dus in de pagina waar je form staat: Nu komt de echo van " Verzenden is gelukt blablabla."...direct boven de form tevoorschijn als je verzonden hebt.
NB: de pagina waarin je form staat, (ik denk contact.html) moet je wel .php laten heten op het laatst en niet meer .html (bijv contact.php) en sendmail.php moet in dezelfde map staan als het bestand waarin je form staat.
Dank je man. Zoals jij zegt toegevoegd en goed gezet.
Alleen zie ik nu dit na verzenden?
Not Found
The requested URL /contact_success.html was not found on this server.
Hij springt dus naar: contact_success.html die er volgens mij niet is?
Iets in de JS? Volgens mij staat alles nu zo goed? verders?
www.a-vanreeven.nl
Dank je weer!
Ditzelfde doe je ook met contact_error.html Kopieer contact.php nog eens zonder de php code en noem dit contact_error.html.. Verwijder hierin ook de form en zet op die plaats iets van "U heeft niet alle velden correct ingevuld..." want de javascript checkt de inputvelden en stuurt bij niet correct ingevulde velden je door naar die contact_error.html.
Je kunt nu ook de echo's in sendmail.php weglaten omdat die geen functie meer hebben.
Dus in sendmail.php dit weghalen:
Vervolgens haal ik in de 2 kopies de include weg, en zet ik in contact_success.html Uw bericht is succesvol verstuurd neer, en in contact_error.html zet ik "U heeft niet alle velden correct ingevuld..." neer?
En dan haal ik in sendmail.php de bovenstaande echo's weg?
Klopt het wat ik nu samenvat?
Onwijs bedankt Nuet! Wordt weer erg gewaardeerd! Ik hoor het! Thanks!
Gr, Carlos!
Er is een javascript controlle op legen velden met waarschuwing plus een soort van spam check.
Zodra email succesvol is verzonden krijgen de input velden een andere kleur plus de submit button wordt disabled en krijgt een andere tekst zoals (bericht is verzonden).
In de php action file is er tevens nog een spam check, indien men javascript disabled.
index.php of index.html
formular.php
Wat heb jij eventueel nodig?
Ik krijg na verzenden nu dit te zien:
// uitlezen van de inputvelden $naam = $_POST['name']; $email = $_POST['email']; $bericht = $_POST['message']; // onderwerp email en ontvanger: $onderwerp = 'Contactformulier'; $ontvanger = 'carlos@carlos.com'; // headers $headers = 'MIME-Version: 1.0'; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= 'From: '.$email; // body voor de email opmaken $body = ""; $body .= "Naam: "; $body .= $naam; $body .= "\n"; $body .= "Email: "; $body .= $email; $body .= "\n"; $body .= "Bericht: "; $body .= $bericht; $body .= "\n"; // email verzenden $formsent = mail($ontvanger, $onderwerp, $body, $headers); }
Dit klopt denk ik niet, wat gaat er nu fout.
Hoor het... ik heb bovenstaande stappen opgevolgd.
Gr, Carlos!
Nee, na op verzenden geklikt te hebben verscijnt de code hier: --> sendmail.php
Greetz
en je had een bracket teveel onderaan "}"
Jouw sendmail.php moet er zo uitzien:
Als het goed is wordt je nu doorverwezen naar contact_success.html als je alle velden correct invult, anders naar contact_error.html
Mocht het zo zijn dat ie op sendmail.php blijft hangen dan verwijzen we hem door naar de success pagina op de volgende manier:
Onder de laatste regel van sendmail.php zet je de doorverwijzing; het laatste stukje ziet er dan zo uit::
Als je ingelogd bent kies dan voor PHP; er zijn ook nog andere dingen zoals javascript, jQuery, etc. wat je kunt keizen.
Maar na de php sluittag spreek je over html-comments, jou comment zal zichtbaar zijn in de html
[/end flauwe opmerking]
Zeer pienter opgemerkt
BTW: op dit forum, alle .php bestanden hebben geen sluittag; enfin,dit is wel objectgeorienteerde code...
Zelfs al spreek je over niet objects, dan nog hoef je php niet af te sluiten.
Bv:
index.php
eenBestand.php
index parsed wat je hoopt dat er geparsed werd..
En vraag me niet waarom (I don't mind) maar het schijnt nog sneller te zijn ook als je je includes/requires/plugins niet afsluit!!
Ik heb jou een bericht gestuurd.... hoor het graag.
Greetz!
Net boven je form:
Die 3 regels moeten weg.
Omdat er nu geen php code meer in staat mag je contact.php ook weer contact.html noemen, maar dat maakt niet veel uit. Kan allebei.
idd heb het nog even nagetrokken; php.net geeft hier ook melding van. Sluittag is niet verplicht tenzij er nog html achteraankomt. Als bestand alleen php code bevat is het zelfs aan te bevelen geen sluittag te gebruiken
http://php.net/manual/en/language.basic-syntax.phptags.php
ikke weer wat geleerd
Het is gelukt. T werkt volgens mij.
En is een spamcheck en controle mogelijkheid moeilijk om er bij in te bouwen?
Als ik nu poespas invul, of helemaal niets invul, dan verzend hij ook gewoon en gaat hij niet naar de error-pagina...
Hoor het graag nog even, thanks. Wat mij betreft kan dit topic hierna op slot.
Iedereen bedankt voor de medewerking!
Greetz!
Thanks man!
Voor de spamcheck gebruiken we een extra inputveld waarin de gebruiker een waarde moet invullen die gechecked wordt of die correct is.
Bijvoorbeeld: Vervolgens vragen we de gebruiker: "type in het veld hieronder in letters het getal 28
De check ziet er dan zo uit: Als er niets is ingevuld of iets anders dan achtentwintig loopt het script dood en wordt er niets verzonden.
Als laatste de verplichte velden: we zullen ze alledrie verplicht maken en dat doen we op de meest eenvoudige manier door gewoon het veld required toe te voegen aan de inputvleden in je form:
Hoe dit te realiseren:
In je form voeg je bij elk inputveld de required regel toe en het extra veld voor de spamcheck; de inputvleden bij je form ( 2 input en 1 textarea) zien er nu dus zo uit: Nu ik dit zo bekijk vind er al een check op die velden plaats met javascript maar blijkbaar werkt die niet omdat je aangaf dat er toch een lege email verzonden kon worden? Voor het geval dat die niet werkt zijn dit dus de aangepaste inputvelden van je form.
Nu het extra inputveld van de spamcheck:
Zet deze li tag net boven je li class="submit-button" in je form:
En nu de aangepaste sendmail.php: