Hey allemaal,
Ik heb op mijn website een contactformulier zeg maar (half zelf gemaakt en half gegoogled op google!!) in php maar nu wil ik zeg maar dat het veldje waar ze hun emailadres in moeten vullen "gecontrolleerd" wordt of er bv wel een @ in zit, of misschien zelfs een confirmmessage sturen naar die mail die ze opgeven.
Nu is mijn vraag hoe doe ik dat...Ik heb wel dat als ze een veld leeg laten dat ze dan een error krijgen maar ik ben nieuw zeg maar in php dus hoe krijg ik dit voor elkaar?
Alvast bedankt,
Time Records
Een aantal mogelijke manieren. Ofwel via javascript, waar je test op leeg, op karakters (kun je doen door gebruik te maken van een indexof('karakter die je wilt testen') ), dit koppel je aan een alert boodschap. Die boodschap verschijnt dan in een typische alertbox en de gebruiker kan enkel op ok klikken en komt terug bij het formulier waar hij de ontbrekende gegevens kan invullen. Indien voor alle testen geslaagd laat je het formulier submitten. Je submit button geef je dan mee onclick="return naamtestfunctie()".
In php kun je het natuurlijk wat professioneler laten ogen en dezelfde testen uitvoeren, maar dan laat je de pagina zichzelf weer oproepen indien niet alles correct is ingevuld met een foutboodschap bij de tekstvakken of bvb een focus op de tekstvakken die fout zijn ingevuld. Indien alles "correct" is ingevuld kun je hier dan opnieuw je verwerkingspagina of verwerkingsfunctie laten aanroepen.
Ik laat mijn emailformulieren testen op 'leeg', '@' en op '.'. Tot nu toe blijken deze testen voldoende te zijn...
Greetz
dit soort van validatie kan je inderdaad beter client side behandelen dus dmv javascript.
je kan dit uiteraard ook server side (dus bv dmv php) maar daardoor heb je eerst nog eens een roundtrip naar de server, moet je je pagina weer helemaal opnieuw opbouwen en moet je de hele afhandeling doen voor het voorinvullen van de andere gegevens die de bezoeker al had ingevuld.
javascript is perfect geschikt om reeds een eerst opvang te doen (bv door jouwveld.value="", of jouwveld.length>0 of iets van die aard)
de validatie van de waarde die er dan wel zou staan kun je het krachtigst met reguliere expressies uitvoeren, als je die nog niet onder de knie hebt is dat zeer nuttig om in je todo lijst te zetten)
good practise is uiteraard om toch nog in je server side scripting een vorm van vangnet te voorzien voor het geval de bezoeker er toch door geraakt zou zijn zonder verplichte velden in te vullen. je hebt namelijk nog altijd van die nitwits die denken de held uit te hangen door hun javascript uit te schakelen.