login  Naam:   Wachtwoord: 
Registreer je!
 Forum

geen symbolen

Offline compudoc - 21/11/2006 19:18 (laatste wijziging 21/11/2006 19:18)
Avatar van compudocPHP beginner ik maak iets voor iemand die wil dat als er een nieuwe username word aangemaakt daar geen symbolen in voorkomen.

ik dacht aan zo iets:
  1. <?php
  2. if ($_POST['username'] =! @ or * or %) {
  3. echo 'Je mag geen symbolen gebruiken';
  4.  
  5. } else {
  6. echo 'Je hebt een goede username aangemaakt';
  7. ?>

of is dit 3x niks?

7 antwoorden

Gesponsorde links
Offline stijnhau - 21/11/2006 19:25
Avatar van stijnhau Onbekend 3x niks omdat:
1) =! niet bestaat het is !=
2) je geeft de foute tekst weer.
3) gaat niet werken moet je doen met een preg_replace.
Offline Dark_Paul - 21/11/2006 19:28
Avatar van Dark_Paul PHP ver gevorderde
  1. <?php
  2. if (ereg('[@*%]', $_POST['username'])) {
  3. echo 'Username mag geen rare tekens bevatten';
  4. }
  5. else {
  6. // alles is goed
  7. }
  8. ?>

Vul tussen de '[' en ']' in de reguliere expressie alle tekens in die je wilt blokkeren.
Offline compudoc - 21/11/2006 19:36
Avatar van compudoc PHP beginner heel erg bedankt

en stijnhau, =! was een typfoutje
Offline Ultimatum - 21/11/2006 19:38
Avatar van Ultimatum PHP expert Als het zou werken zouden er ook nog '' om die tekens heen moeten
Offline tswebdev - 21/11/2006 19:40
Avatar van tswebdev PHP interesse Je kan ook deze functie gebruiken, ze is in de meeste gevallen sneller als de ereg() functie
  1. <?php
  2. if (preg_match('[@*%]', $_POST['username'])) {
  3. echo 'Username mag geen rare tekens bevatten';
  4. }
  5. else {
  6. // alles is goed
  7. }
Offline Dark_Paul - 21/11/2006 20:31
Avatar van Dark_Paul PHP ver gevorderde Kan ook, ze doen beide eigenlijk hetzelfde, ik ben alleen gewend om met ereg te werken.
Offline Richard - 22/11/2006 08:15
Avatar van Richard Crew algemeen
Citaat:
Kan ook, ze doen beide eigenlijk hetzelfde, ik ben alleen gewend om met ereg te werken.


Sjeez, documentatie lezen mag ook wel eens zeg. preg werkt sneller, en heeft een veel uitgebreidere syntax. ereg ondersteunt zelfs geen lazy quantifiers, dus wat is er hetzelfde?

Enfin:

  1. if (preg_match('[@*%]', $_POST['username'])) {


Werkt netzomin, omdat preg_match delimiters verwacht ;)

Wat je beter kunt doen:

  1. <?php
  2. if (!preg_match('~^[^@*%]{6,15}$~', $_POST['username']))
  3. {


Waarbij 6 de minimale, en 15 de maximale lengte is van de username, 2 vliegen in 1 klap 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s