login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Deprecated (Opgelost)

Offline blabber87 - 23/08/2012 15:40
Avatar van blabber87Nieuw lid Hallo.

Ben vandaag lekker bezig alleen het wil niet helemaal zelf lukken allemaal...

Ik heb het volgende probleem:

  1. Deprecated: Function eregi() is deprecated in /home/deb61455/domains/martsweb.nl/public_html/paginas/leden/aanmelden.php on line 44
  2.  
  3. Deprecated: Function eregi() is deprecated in /home/deb61455/domains/martsweb.nl/public_html/paginas/leden/aanmelden.php on line 49
  4.  
  5. elseif(!eregi("[A-Za-z]", $_POST['gebruikersnaam']))
  6.  
  7. elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['email']))


Nu heb ik gelezen dat ik eregi moet veranderen in preg_match /i

Nu had ik wat voorbeelden bekeken maar telkens als ik denk het antwoord te hebben krijg ik fatal errors of dat het helemaal niet meer werkt.

Kan iemand mij hier mee helpen?

1 antwoord

Gesponsorde links
Offline Martijn - 23/08/2012 16:11 (laatste wijziging 23/08/2012 16:41)
Avatar van Martijn Crew PHP
  1. elseif(!eregi("[A-Za-z]", $_POST['gebruikersnaam']))
  2. //wordt dan
  3. elseif(!preg_match("/[A-Za-z]/si", $_POST['gebruikersnaam']))
  4.  
  5. // Edit: Dit is een betere:
  6. elseif(preg_match("/[^a-z]/si", $_POST['gebruikersnaam']))
  7. // Nu doet het "indien het iets anders matched dan deze letters"
  8. // en ik heb A-Z weggehaalt, dat is niet nodig als het case ongevoelig is :)


s = singleline ( deze tekst
wordt als 1 regel gezien)
i = case Insensative
----------------------
edit2: Zal even je grote ook kleiner maken en uitleggen wat ik doe

we beginnen met:
"[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+"

Daar voegen we de insensative flag aan toe:
"/[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+/si"

Omdat het nu niet uitmaakt of je een a of A typt:
"/[a-z0-9_-]+([\.]{1}[a-z0-9_-]+)*@[a-z0-9-]+([\.]{1}[a-z0-9-]+)+/si"

Stukje leesbaarder zo. Voor cijfers hebben we \d:
"/[a-z\d_-]+([\.]{1}[a-z\d_-]+)*@[a-z\d-]+([\.]{1}[a-z\d-]+)+/si"

En voor a-z en underscore hebben we \w:
"/[\w\d-]+([\.]{1}[\w\d-]+)*@[a-z\d-]+([\.]{1}[a-z\d-]+)+/si"

Dan wil je ook dat "- " als tekst kan, wat je nu hebt werkt, maar is niet goed, dan moet dan escaped naar \-
"/[\w\d\-]+([\.]{1}[\w\d\-]+)*@[a-z\d\-]+([\.]{1}[a-z\d\-]+)+/si"

Dan gebruik je groups die niet hoeven, en die punt is niet verplicht (tenzij dat wel moet):
"/[\w\d\-]+\.?[\w\d\-]+@[a-z\d\-]+\.([a-z\d\-]+){2,5}/si"

en dan hebben we m een stuk ingewikkelder maar beter Je kunt uiteraard ook een stapje minder hoog kiezen
Bedankt door: blabber87
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s