cachopo 0 Posted March 25, 2011 Report Share Posted March 25, 2011 Boa tarde, Sou novo aqui no forum Portugal a Programar. Gostava de saber se existe alguma forma de fazer com que nenhum dos campos possa ter caracteres especiais, sem ter de estar a criar cada um código assim: if (!empty($_POST['teste'])) { $teste = $_POST['teste']; if (preg_match('/^[a-z A-Z0-9]+$/', $teste)) { echo 'Username OK!'; }else { echo 'Username tem caracteres inválidos'; } } para cada uma das variaveis. Gostava da vossa ajuda. Link to post Share on other sites
Lfscoutinho 2 Posted March 25, 2011 Report Share Posted March 25, 2011 Boas, Podes utilizar o foreach. Por exemplo: if ( ! empty( $_POST['teste'] ) ) { foreach( $_POST as $campo ) { if ( preg_match( '/^[a-z A-Z0-9]+$/', $campo ) ){ echo 'Campo OK!'; } else { echo 'O campo tem caracteres inválidos'; } } } Link to post Share on other sites
cachopo 0 Posted March 25, 2011 Author Report Share Posted March 25, 2011 Onde está $campo coloco as variaveis dos campos por exemplo : $teste1, $teste2, $teste3 assim?? if ( ! empty( $_POST['teste'] ) ) { foreach( $_POST as $campo ) { if ( preg_match( '/^[a-z A-Z0-9]+$/', $campo ) ){ echo 'Campo OK!'; } else { echo 'O campo tem caracteres inválidos'; } } } Link to post Share on other sites
Lfscoutinho 2 Posted March 25, 2011 Report Share Posted March 25, 2011 Boas, Não, é mesmo assim. O que isso faz é percorrer o array $_POST e verifica todos os campos. Ou seja, o $campo vai ser o teu $teste1, $teste2, $teste3, etc... Link to post Share on other sites
cachopo 0 Posted March 25, 2011 Author Report Share Posted March 25, 2011 Eu tenho 1 campo que apenas pode ter números, como é que eu restrinjo a função para ela não ir buscar esse campo? Link to post Share on other sites
Lfscoutinho 2 Posted March 25, 2011 Report Share Posted March 25, 2011 Boas, Neste caso, como estás a verificar se os campos apenas têm letras e números, podes deixar como está e no fim adicionar um if, depois do foreach. Link to post Share on other sites
cachopo 0 Posted March 25, 2011 Author Report Share Posted March 25, 2011 Boas, Não, é mesmo assim. O que isso faz é percorrer o array $_POST e verifica todos os campos. Ou seja, o $campo vai ser o teu $teste1, $teste2, $teste3, etc... Nao percebi. Onde está $campo coloco assim $exemplo1, $exemplo2, $exemplo3 é?? if ( ! empty( $_POST['teste'] ) ) { foreach( $_POST as $campo ) { if ( preg_match( '/^[a-z A-Z0-9]+$/', $campo ) ){ Link to post Share on other sites
Lfscoutinho 2 Posted March 25, 2011 Report Share Posted March 25, 2011 Boas, Não ! Não compliques. Como está, já está a fazer a verificação a todos os campos... Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now