Validatie van emailadres
Hoi,
Ik heb een vraagje.
Onderstaand script wil ik graag aanpassen zodat alleen iemand met een toegekend emailadres wordt geaccepteerd.
Er zit een verificatie in zoals je ziet maar ik zou graag willen dat alleen adressen eindigend op @scuderia-alfa.nl gevalideerd worden.
Wat moet ik veranderen want ik kom er niet uit (noob).
Alvast bedankt,
John
Ik heb een vraagje.
Onderstaand script wil ik graag aanpassen zodat alleen iemand met een toegekend emailadres wordt geaccepteerd.
Er zit een verificatie in zoals je ziet maar ik zou graag willen dat alleen adressen eindigend op @scuderia-alfa.nl gevalideerd worden.
Wat moet ik veranderen want ik kom er niet uit (noob).
Code (php)
1
2
3
4
5
2
3
4
5
// Check the name and email for validity.
if (trim($_POST['buymeabeer']) != '')
{
if (preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@[\w\-]+(\.[\w\-]+)*(\.[\w]{2,6})$~', stripslashes($_POST['buymeabeer'])) == 0) {
$post_errors[] = 'bad_paypal';
if (trim($_POST['buymeabeer']) != '')
{
if (preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@[\w\-]+(\.[\w\-]+)*(\.[\w]{2,6})$~', stripslashes($_POST['buymeabeer'])) == 0) {
$post_errors[] = 'bad_paypal';
Alvast bedankt,
John
Misschien heb je wat aan http://www.php.net/manual/en/function.strpos.php en/of http://php.net/manual/en/function.strstr.php
Helaas, hier word ik ook niet veel wijzer van.
Zit al de hele tijd dingetjes uit te proberen maar lukt niet erg.
Zo moeilijk kan dit toch niet zijn? Waar kijk ik nou verkeerd?
Zit al de hele tijd dingetjes uit te proberen maar lukt niet erg.
Zo moeilijk kan dit toch niet zijn? Waar kijk ik nou verkeerd?
Niet de beste, maar wel de makkelijkste manier is: filter_var()
Code (php)
Gewijzigd op 26/12/2010 12:37:55 door Justin S
Bedankt voor de hulp en de verwijzingen maar ik heb werkelijk geen idee hoe ik deze moet toepassen.
zie het antwoord van justin, als je dit niet begrijpt moet je eens wat turorials doorlezen over php
Kan iemand me niet gewoon aangeven wat ik waartussen moet zetten.
Dan kan ik vandaar proberen te begrijpen hoe het werkt.
Dan kan ik vandaar proberen te begrijpen hoe het werkt.
Misschien moet je daarvoor naar phpscripts.nl of gratisphpdevelopers.nl gaan? Wij zitten hier namelijk op php hulp. En daar helpen we je wel, maar we gaan niet alles zeggen. Je zult hier zelf de code moeten maken/invoegen en wij geven je zetjes in de goede richting.
Kijk eens logisch naar de code van justin. Kijk eens naar PHP: if, PHP: else, PHP: echo en PHP: filter_var.
Dat zijn alle dingen die justin gebruikt heeft en dingen die je nodig hebt.
Kijk eens logisch naar de code van justin. Kijk eens naar PHP: if, PHP: else, PHP: echo en PHP: filter_var.
Dat zijn alle dingen die justin gebruikt heeft en dingen die je nodig hebt.
Verander de reguliere expressie zodanig dat achter de @ alleen het door jou gewenste deel voor kan komen:
Offtopic:
Wat betreft de andere reacties: gelieve de vraag eerst goed te lezen. De TS stelt een hele specifieke vraag en filter_var() is voor hem dus geen oplossing!
Code (php)
1
2
3
2
3
<?php
preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@scuderia-alfa\.nl$~', stripslashes($_POST['buymeabeer']))
?>
preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@scuderia-alfa\.nl$~', stripslashes($_POST['buymeabeer']))
?>
Offtopic:
Wat betreft de andere reacties: gelieve de vraag eerst goed te lezen. De TS stelt een hele specifieke vraag en filter_var() is voor hem dus geen oplossing!
Gewijzigd op 26/12/2010 13:30:53 door Joren de Wit
Explode?
Blanche - op 26/12/2010 13:29:16:
Verander de reguliere expressie zodanig dat achter de @ alleen het door jou gewenste deel voor kan komen:
Offtopic:
Wat betreft de andere reacties: gelieve de vraag eerst goed te lezen. De TS stelt een hele specifieke vraag en filter_var() is voor hem dus geen oplossing!
Code (php)
1
2
3
2
3
<?php
preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@scuderia-alfa\.nl$~', stripslashes($_POST['buymeabeer']))
?>
preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*@scuderia-alfa\.nl$~', stripslashes($_POST['buymeabeer']))
?>
Offtopic:
Wat betreft de andere reacties: gelieve de vraag eerst goed te lezen. De TS stelt een hele specifieke vraag en filter_var() is voor hem dus geen oplossing!
Ongelooflijk bedankt.
Hier was ik dus de hele morgen al mee bezig om uit te vogelen waar ik dat moest neerzetten!!! Het werkt perfect nu.
Geen idee dat ik deze slash *@scuderia-alfa\ daar neer moest zetten.
Nu het werkt ga ik eens uitvlooien WAAROM dit werkt.
Thanks a million.
In een reguliere expressie heeft de punt (.) een speciale werking, die matched namelijk alle tekens. Jij wilt alleen een echte punt matchen, dus escape je hem met een backslash.
Blanche - op 26/12/2010 13:47:15:
In een reguliere expressie heeft de punt (.) een speciale werking, die matched namelijk alle tekens. Jij wilt alleen een echte punt matchen, dus escape je hem met een backslash.
Dit ga ik nog een paar keer lezen Blanche haha, maar komt goed.
De crewmembers doen allemaal vrijwillig hun best om anderen te helpen en ik heb deze mod op het forum dus zo aangepast dat anderen hun een kleine beloning kunnen geven. Vandaar dat ik het zo graag werkend wilde hebben.
Nu kan niet zomaar iedereen die mod 'aanzetten' maar alleen degene die ikzelf een emailadres heb gegeven.
Nogmaals bedankt voor je hulp.
John
Graag gedaan, fijne dagen!
Misschien is deze tutorial wat als je rexen beter wilt leren:
http://www.phphulp.nl/php/tutorial/php-functies/regular-expressions/520/
http://www.phphulp.nl/php/tutorial/php-functies/regular-expressions/520/




