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).



// 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';


Alvast bedankt,
John
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:

<?php
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![/offtopic]


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!

Reageren