Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
como faço para o sistema barrar e exiba um erro, caso o user tenha digitado menos de 7, ou mais de 15 caracteres dentro da caixa de texto |
seria feito com expressão regular?
Mas tem como ser feito somente com php?
Claro, veja:
<?php
$String = 'aeiou'; // $String = $_POST[ ' ... ' ];
if( strlen( $String ) > 7 ){
echo 'Somente 7 Dígitos !';
}else{
echo 'Ok !';
}para ter limite maximo seria
<?php
$String = 'aeiou'; // $String = $_POST[ ' ... ' ];
if( strlen( $String ) > 7 ){
echo 'Somente 7 Dígitos !';
}elseif( strlen( $String ) < 16){echo "erro";}else{
echo 'Ok !';
}?Não entendi, você fala de 7 a 16 ?
<?php
$String = '333333333333333'; // $String = $_POST[ ' ... ' ];
if( strlen( $String ) < 7 || strlen( $String ) > 16 ){
echo 'Somente 7 a 16 Dígitos !';
}else{
echo 'Ok !';
}$nome = trim($_POST['nome']);
$user = trim($_POST['usuario']);
$senha = trim($_POST['senha']);
$ssenha = trim($_POST['senha2']);
$email = ($_POST['email']);
$sql_email_check = mysql_query("SELECT COUNT(id) FROM u_se WHERE em='{$email}'");
$sql_usuario_check = mysql_query("SELECT COUNT(id) FROM u_se WHERE usn='{$user}'");
$eReg = mysql_fetch_array($sql_email_check);
$uReg = mysql_fetch_array($sql_usuario_check);
$email_check = $eReg[0];
$usuario_check = $uReg[0];
if((!$nome) || (!$user) || (!$senha) || (!$ssenha) || (!$email) || ($senha != $ssenha) || (!filter_var($email, FILTER_VALIDATE_EMAIL)) || ($email_check > 0) || ($usuario_check > 0) ){
if(!$nome){ echo "<div class=\"k\">Digite seu nome</div>";}
if(!$user){ echo "<div class=\"k1\">Digite um username</div>";}
if(!$senha){ echo "<div class=\"k2\">Digite uma nova senha</div>";}
if(!$ssenha){ echo "<div class=\"k3\">Repita sua senha</div>";}
if(!$email){ echo "<div class=\"k4\">Digite seu email</div>";}elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) {echo "<div class=\"k4\">Digite uma email verdadeiro</div>";}
if ($senha != $ssenha) { echo "<div class=\"k2\">As senhas não se coisidem</div>";}
if($email_check > 0){ echo "Este email <strong>".$email."</strong> já esta cadastrado em nosso sistema, tente outro email ";
unset($email); }
if($usuario_check > 0){ echo " <strong>".$usuario."</strong> já está sendo utilizado, tente outro ";
unset($usuario); }
}else{
queria que o fosse obrigatorio o user digitar no campo senha e user no minimo 6 letras e no max 16Ta certo, eu postei a solução logo acima, você viu ?
Agora, algumas dicas, nas quais quero deixar claro aqui pra você !, você faz 2 SELECTS, 2 FETCH's, desnecessáriamente.
$sql_email_check = mysql_query("SELECT COUNT(id) FROM u_se WHERE em='{$email}'");
$sql_usuario_check = mysql_query("SELECT COUNT(id) FROM u_se WHERE usn='{$user}'");
No qual, você podia trocar apenas pra um SELECT.
SELECT COUNT(`id`) AS `id` WHERE `em` = '{$email}' OR `usn` = '{$user}'
Além do mais, esse fetch é totalmente desnecessário, você podia fazer um select normal.
e usar um mysql_num_rows, verificando apenas o número de linhas retornadas.
;)
mas ai o script retornaria erro do user ja cadastrado sendo que o email que foi selecionado ou vice - versa
mas valeu ja consegui o que procurava
Ok então, mas eu acho que você não entendeu o que eu disse, se você usa um OR, ele vai procurar por UM se não achar, vai tentar procurar por outro.
Entendeu agora ?
Não precisa de expressão regular amigo !, javascript já resolve seu problema.
<!DOCTYPE html>