Validatie van emailadres

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John de Winkel

John de Winkel

26/12/2010 11:28:42
Quote Anchor link
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).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';


Alvast bedankt,
John
 
PHP hulp

PHP hulp

16/01/2022 11:30:47
 
Obelix Idefix

Obelix Idefix

26/12/2010 11:35:04
 
John de Winkel

John de Winkel

26/12/2010 11:56:54
Quote Anchor link
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?
 
Pim -

Pim -

26/12/2010 12:19:36
Quote Anchor link
Niet de beste, maar wel de makkelijkste manier is: filter_var()
 
Justin S

Justin S

26/12/2010 12:37:37
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if(filter_var($emailadres, FILTER_VALIDATE_EMAIL))
    {

        echo 'pass';
    }

else
    {
        echo 'fail';
    }

?>
Gewijzigd op 26/12/2010 12:37:55 door Justin S
 
John de Winkel

John de Winkel

26/12/2010 12:38:46
Quote Anchor link
Bedankt voor de hulp en de verwijzingen maar ik heb werkelijk geen idee hoe ik deze moet toepassen.
 
Vincent Huisman

Vincent Huisman

26/12/2010 12:45:15
Quote Anchor link
zie het antwoord van justin, als je dit niet begrijpt moet je eens wat turorials doorlezen over php
 
John de Winkel

John de Winkel

26/12/2010 13:13:14
Quote Anchor link
Kan iemand me niet gewoon aangeven wat ik waartussen moet zetten.
Dan kan ik vandaar proberen te begrijpen hoe het werkt.
 
Wouter J

Wouter J

26/12/2010 13:25:41
Quote Anchor link
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.
 
Joren de Wit

Joren de Wit

26/12/2010 13:29:16
Quote Anchor link
Verander de reguliere expressie zodanig dat achter de @ alleen het door jou gewenste deel voor kan komen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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!
Gewijzigd op 26/12/2010 13:30:53 door Joren de Wit
 
Jordi Kroon

Jordi Kroon

26/12/2010 13:33:57
Quote Anchor link
Explode?
 
John de Winkel

John de Winkel

26/12/2010 13:34:30
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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!


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.
 
Joren de Wit

Joren de Wit

26/12/2010 13:47:15
Quote Anchor link
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.
 
John de Winkel

John de Winkel

26/12/2010 14:04:40
Quote Anchor link
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
 
Joren de Wit

Joren de Wit

26/12/2010 14:06:12
Quote Anchor link
Graag gedaan, fijne dagen!
 
Wouter J

Wouter J

26/12/2010 14:27:50
Quote Anchor link
Misschien is deze tutorial wat als je rexen beter wilt leren:
http://www.phphulp.nl/php/tutorial/php-functies/regular-expressions/520/
 



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.