preg_match or ereg PROBLEMS NEED HELP!!

Discussion in 'PHP' started by Dangy, Dec 9, 2009.

  1. #1
    
    $usri = "Invalid Characters!"
    $nopreg = "(\!\@\#\$\%\^\&\*\(\)\+\=\[\]\{\}\"\'\?\/\\\|\,\.\<\>\`\~\:\;)";
                              echo stripslashes($nopreg); 
                              if(isset($_POST['register'])){
                                  if(!ereg("/$nopreg/", $_POST['username-reg'])){
                            
                                  ?>
                                  <span class="error">
                                  <? echo $usri;?>
                                  </span>
                                  <?    
                                  }
    
    PHP:
    This is the code, SOME REASON ITS NOT FILTERING THESE CHARACTERS!!..


    Someone please, help me here.
     
    Dangy, Dec 9, 2009 IP
  2. dracula51

    dracula51 Peon

    Messages:
    146
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    dracula51, Dec 9, 2009 IP
  3. Dangy

    Dangy Well-Known Member

    Messages:
    841
    Likes Received:
    25
    Best Answers:
    2
    Trophy Points:
    155
    #3
    PROBLEM FIXED!!!

    I just need to have double brackets like....

    if(!ereg("/^([a-zA-Z0-9_])+$/"){
    
    }
    PHP:

    So the fixed version looks like

    
    $usri = "Invalid Characters!"
    $nopreg = "([\!\@\#\$\%\^\&\*\(\)\+\=\[\]\{\}\"\'\?\/\\\|\,\.\<\>\`\~\:\;])";
                              echo stripslashes($nopreg); 
                              if(isset($_POST['register'])){
                                  if(ereg("/^$nopreg+$/", $_POST['username-reg'])){
                            
                                  ?>
                                  <span class="error">
                                  <? echo $usri;?>
                                  </span>
                                  <?    
                                  }
    
    PHP:
    Which can be simplified to

    
    $usri = "Invalid Characters!";
    $username = $_POST['username_reg'];
    $nopreg = "/^([a-zA-Z0-9_])+$"; 
                              if(isset($_POST['register'])){
                                  if(!ereg($nopreg, $_POST['username-reg'])){
                            
                                  ?>
                                  <span class="error">
                                  <? echo $usri;?>
                                  </span>
                                  <?    
                                  }
    
    PHP:
     
    Dangy, Dec 9, 2009 IP