Erro de registo Re:Erro de registo Re:Erro de registo

Transcrição

Erro de registo Re:Erro de registo Re:Erro de registo
Erro de registo
Posted by PauloQuintas - 2009/03/04 11:05
_____________________________________
boas,
Estou com um problema que assim do nada apareceu :S
É um registo normal, nada de especial.
insiro ao dados normalmente mas depois nao consegue entrar no request, ou seja,
var_dump($_POST);
if(isset($_REQUEST))
{
//star switch
switch($_REQUEST)
{
já verifiquei os nomes e correspondem
<input name="registar" type="hidden" id="registar" value="submit_product" />
<input type="submit" name="submit" value="Adicionar" class="submitbtn"/>
entretanto fiz o var_dump do post
array(18) { => string(9) "sdfsdfsdf"
=> string(5) "dfffg"
=> string(5) "sdfsd"
=> string(8) "sdfsdfds"
=> string(4) "fsdf"
=> string(4) "fdsf"
=> string(7) "fsdfsdf"
=> string(4) "sdfs"
=> string(3) "fsd"
=> string(7) "sdfsdfd"
=> string(4) "fsdf"
=> string(2) " 1"
=> string(5) "dsfds"
=> string(5) "dsfsd"
=> string(5) "fdsfd"
=> string(10) "fdsfdsfsdf"
=> string(16) "registar_cliente"
=> string(6) "Enviar" }
erro a entrar
coloquei o isset mesmo para testar e uma mensagem(que esta e bold e underline) :S
alguem percebe porque?
Post edited by: PauloQuintas, at: 2009/03/04 11:06
Post edited by: PauloQuintas, at: 2009/03/04 11:08
============================================================================
Re:Erro de registo
Posted by luisv - 2009/03/05 15:16
_____________________________________
Normalmente, em vez de usares $_REQUEST deverias usar $_POST. Já fizeste isto?
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/05 17:20
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
_____________________________________
Paulo...
Provavelmente o input não deve estar dentro das tags do form
<form>(algures para aqui)</form>
onde estás a fazer post....
Mete aqui o form para darmos uma olhadela ;)
Abraço
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/06 16:44
_____________________________________
aqui têm o form
<form method="post" name="frmUpload" action="registo_insert.php">
<table width="711" border="0" align="center" cellpadding="3" cellspacing="3" style=" width:700px; line-height:20px">
<tr>
<td align="right" width="20%" class="contentleft_cinzatxt">Username:</td>
<td > <input name="username" type="text" class="registo" id="username"/>*</td>
<td width="20%" align="right" class="contentleft_cinzatxt" >Password:</td>
<td ><input name="password" type="password" class="registo" id="password"/>*</td>
</tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Nome:</td><td><input name="nome" type="text" class="registo"
id="nome"/>*</td>
<td align="right" class="contentleft_cinzatxt">Email:</td> <td><input name="email" type="text" class="registo"
id="email"/>*</td>
</tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Data de nascimento: </td> <td><input name="birth" type="text"
class="registo" id="birth"/></td>
<td align="right" class="contentleft_cinzatxt">N.&ordm;de Contribuinte:</td><td><input name="n_contribuinte"
type="text" class="registo" id="n_contribuinte"/></td>
</tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Morada:</td> <td><input name="morada" type="text" class="registo"
id="morada"/>*</td>
<td align="right" class="contentleft_cinzatxt">C&oacute;digo postal: </td>
<td><input name="codpostal1" type="text" class="registocp" maxlength="4" id="codpostal1"/>-<input
name="codpostal2" type="text" class="registocp" maxlength="3" id="codpostal2"/>*<input name="localidade" type="text"
class="registocpl" id="localidade"/></td>
</tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Distrito:</td><td><input name="distrito" type="text" class="registo"
id="distrito"/>*</td>
<td align="right" class="contentleft_cinzatxt">Pa&iacute;s:</td><td><?php cat_list2(NULL); ?></td></tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Telefone:</td> <td><input name="telefone" type="text" class="registo"
id="telefone"/>*</td>
<td align="right" class="contentleft_cinzatxt">Telem&oacute;vel:</td> <td><input name="telem" type="text"
class="registo" id="telem"/></td>
</tr>
<tr>
<td align="right" class="contentleft_cinzatxt">Fax:</td> <td><input name="fax" type="text" class="registo"
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
id="fax"/></td>
<td align="right" class="contentleft_cinzatxt">Empresa:</td><td><input name="empresa" type="text" class="registo"
id="empresa"/></td>
</tr>
<tr><td colspan="4">&nbsp;</td></tr>
<tr><td colspan="4" align="right">
<input name="req" id="req" type="hidden" value="registar_cliente" />
<input name="submit" type="submit" value="Enviar" class="btnregisto"/></td></tr>
</table>
</form>
Post edited by: PauloQuintas, at: 2009/03/06 16:45
============================================================================
Re:Erro de registo
Posted by m42 - 2009/03/06 18:12
_____________________________________
ou é de mim, ou de facto o nome "registar" não aparece no form...
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/06 22:39
_____________________________________
Pois é paulo....
De facto, o objecto que disseste no primeiro post nao existe no form que colocaste....
Ainda tens que o criar nao?
Ou entao tem um nome diferente (que deve ser "registar_cliente") digo eu
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/07 11:25
_____________________________________
sim é esse, eu andei a fazer teste e mudar a mudar de nomes para ver se funcionava e acabei por me esquecer de
mudar o nome, isso ao inicio tinha o mesmo nome.
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/07 11:46
_____________________________________
de acordo com o form que me mostraste, tens que alterar o teu codigo para:
if(isset($_POST))
É que o atributo name='req' é que determina o index do post :)
E a partir daí já apanhas :)
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/09 14:40
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
_____________________________________
ja fiz isso, mas continua igual
array(18) { => string(5) "dfgdg"
=> string(3) "dfg"
=> string(6) "dfgdfg"
=> string(6) "dfgdfg"
=> string(5) "dfgdf"
=> string(6) "dfgdfg"
=> string(6) "gdfgdf"
=> string(3) "dfg"
=> string(3) "dfg"
=> string(6) "dfgdfg"
=> string(4) "gdfg" => string(2) " 1"
=> string(6) "dfgdfg"
=> string(6) "dfgfdg"
=> string(6) "dfgdfg"
=> string(8) "dfgddgdg"
=> string(16) "registar_cliente"
=> string(6) "Enviar" }
erro a entrar
no formulario:
<input name="req" id="req" type="hidden" value="registar_cliente" />
<input name="submit" type="submit" value="Enviar" class="btnregisto"/></td></tr>
e a parte do script
if(isset($_POST))
{
//star switch
switch($_POST)
{
//modify category form
case "registar_cliente":
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/09 15:46
_____________________________________
PauloQuintas wrote:
=> string(16) "registar_cliente"
e a parte do script
if(isset($_POST))
{
//star switch
switch($_POST)
{
//modify category form
case "registar_cliente":
Eh pah... se calhar, mas so se calhar... É da maneira que tens o switch.... Mostra la o resto do codigo do switch....
Cheira-me que nao estas a fazer break; no final do case "registar_cliente"
Mas mete aqui o codigo, mete.... xD
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
Post edited by: mAiN_iNfEcTiOn, at: 2009/03/09 15:47
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/09 16:31
_____________________________________
a maioria foste tu que fizeste para o utilizador kof20012, eu so adicionei algumas coisas.
mas aqui vai:
if(isset($_POST))
{
//star switch
switch($_POST)
{
//modify category form
case "registar_cliente":
define("CLASSES_PATH","classes/"«»);
define("MYSQL_SERVER","localhost"«»);
define("MYSQL_USER","root"«»);
define("MYSQL_PWD",""«»);
define("MYSQL_SCHEMA","teste"«»);
# ANTES DE MAIS... VERIFICAR SE HOUVE ALGUM POST...
if(count($_POST)>0)
{
# VERIFICAR SE "FOI ATRAVÉS DO FORM"
if(isset($_POST))
{
# CONECTAR-SE À BASE DE DADOS
$ligacao=mysql_pconnect(MYSQL_SERVER, MYSQL_USER, MYSQL_PWD) or die("Problemas de ligação"«»);
mysql_select_db(MYSQL_SCHEMA, $ligacao);
# INCLUIR A BIBLIOTECA DE VALIDAÇÃO E CRIAR O OBJECTO
require(CLASSES_PATH . "validation.class.php"«»);
$validacao=new Validation();
$erros=array();
# - TIRAR TAGS PARA NAO PERMITIR XSS
$_POST=$validacao->clean_array($_POST);
#
# DEFINIR AS REGRAS DE VALIDAÇÃO
$rules=array(); // INICIALIZAR O ARRAY
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>FALSE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
$rules=array("required"=>TRUE);
if($validacao->validate($_POST,$rules))
{
# CORREU TUDO BEM E NÃO HOUVE ERROS, AGORA VAMOS VERIFICAR SE JÁ EXISTE NA BASE DE DADOS,
ETC...
# VERIFICAR USERNAME
$resultado=mysql_query(sprintf("SELECT * FROM user WHERE username='%s'",
@mysql_real_escape_string($_POST)
),$ligacao);
if(@mysql_num_rows($resultado)>0)
{
# USERNAME JÁ EXISTE ...
$erros="username_exists";
}
@mysql_free_result($resultado);
# VERIFICAR EMAIL
$resultado=mysql_query(sprintf("SELECT * FROM user WHERE email='%s'",
@mysql_real_escape_string($_POST)
),$ligacao);
if(@mysql_num_rows($resultado)>0)
{
# USERNAME JÁ EXISTE ...
$erros="email_exists";
}
@mysql_free_result($resultado);
# SE NÃO TIVER DADO ERROS
if(count($erros)<=0)
{
$query="INSERT INTO user (username, nome, email, birth, n_contribuinte, morada, codpostal1, codpostal2, localidade,
distrito, idpais, telefone, telem, fax, empresa, password) ";
$query.="VALUES ('%s','%s','%s',%s,'%s','%s','%s','%s','%s','%s',%s,'%s','%s','%s','%s','%s')";
$query=sprintf($query,
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
@mysql_real_escape_string($_POST),
md5($_POST) # RECOMENDO FAZERES ANTES sha1($_POST)
);
$resultado=@mysql_query($query,$ligacao);
if($resultado)
{
//MENSAGEM
function confirm($msg)
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
{
echo "<script langauge=\"javascript\">alert(\"".$msg."\"«»);</script>";
}//end function
$msg = "
confirm($msg);
Registo com sucesso!!";
##Send activation Email
$to
= $_POST;
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$subject = "teste.pt";
$message = "Foi registafo com sucesso!\r\rPara activar o seu registo clique neste
link:\rhttp://www.teste.com/verify.php?$activationKey\r\rSe não ignore este email.\r\rRegards,\ teste.pt";
mail($to, $subject, $message, $headers);
}
else
{
# ERRO
$erros="mysql_error";
}
@mysql_free_result($resultado);
}
}
else
{
# OCORRERERAM ERROS NA VALIDAÇÃO... TEMOS QUE OS ADQUIRIR PARA UM ARRAY E PREPARAR AS
MENSAGENS PARA SEREM VISUALIZADAS
# NO FORMULÁRIO... :«»)
$erros=$validacao->getErros();
}
}
}
break;
// case "verify":
//titulo("Verify Information"«»);
//PERFORM MYSQL QUERY
// $sql=mysql_result(mysql_query("SELECT count(*) AS vcount FROM user WHERE iduser='{$_GET}' AND md5(nome)
= '{$_GET}'"«»),0);
//
// if ($sql==1){
//
// $update= mysql_query("update user set verified='1' where iduser='{$_GET}'"«»);
//
// if(!$update){
//
// echo "Erro com a query: ".mysql_error();
//
// }else{
//
//echo '<p align="center"><font size="4" face="verdana, arial, helvetica, sans-serif">'.
//<strong>Foste verificado!</strong></font></p>'.
//
//include $_SERVER. 'Websites/teste/registocliente.php';
//
// }
//}else{
//
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
//echo "Desculpa, mas conseguimos verificar o teu email";
//
//}
//
//corpo();
//
//break;
default:
include $_SERVER. 'Websites/teste/index.php';
//corpo();
break;
}
echo"erro a entrar";
}
//# SE CHEGAR AQUI, É PORQUE OCORRERAM ERROS OU NÃO FOI POSTADO NADA
//echo "nao é suposto chegar aqui";
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/09 21:19
_____________________________________
Nao quero duvidar dos teus dotes de debugger... mas faz o seguinte:
a seguir à linha
case "registar_cliente":
faz
die("LOL"«»);
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/10 14:23
_____________________________________
ele chega ao LOL
array(18) { => string(3) "rgf"
=> string(4) "gdfg"
=> string(4) "gdfg"
=> string(3) "dfg"
=> string(5) "fdgfd"
=> string(5) "dfgdf"
=> string(6) "gdfgdf"
=> string(3) "gdf"
=> string(3) "gdf"
=> string(6) "dfgfdg"
=> string(3) "gdf"
=> string(2) " 1"
=> string(4) "gdfg"
=> string(7) "gdfgdgd"
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
=> string(8) "dfgdfgdf"
=> string(6) "fgdfgd"
=> string(16) "registar_cliente"
=> string(6) "Enviar" }
LOL
Post edited by: PauloQuintas, at: 2009/03/10 14:24
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/11 01:12
_____________________________________
Pois era o que eu pensava....
O problema não está no tal if, nem no switch...
O problema está depois....
Ou seja... normalmente, após o registo e após se enviar o e-mail, ele iria fazer o header('location: (...)'); onde
redireccionaria para o index ou algo do género... assim nunca chegaria a correr as linhas onde diz:
echo"erro a entrar";
neste caso terás que, onde tem essa linha, substituir por:
else
{
echo"erro a entrar";
}
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/12 15:11
_____________________________________
desacobri o problema (axo eu) tem a ver em mostrar os erros... caso haja o erro ele não aparece. Vou "criar" um novo a
ver o porque é os erros nao apaeecem :S
Post edited by: PauloQuintas, at: 2009/03/12 16:41
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/13 17:58
_____________________________________
mAiN_iNfEcTiOn descobri talvez o erro principal. faltavam-me uns campos. Mas agora deparei-me com uma coisa. ele
so envia as mensagens de erro dos email e dos usernames. o codigo esta la ou aparentemente esta la.
Explica-me uma cena
no script tenho:
Definição das regras onde sera colocadas no array
# DEFINIR AS REGRAS DE VALIDAÇÃO
$rules=array(); // INICIALIZAR O ARRAY
$rules=array("required"=>TRUE);$rules=array("required"=>TRUE);$rules=array("required"=>TRUE);
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
depois se correu bem ele verifica se o email e o username existe e define a mensagem de erro:
$resultado=mysql_query(sprintf("SELECT * FROM user WHERE username='%s'",
@mysql_real_escape_string($_POST)),$ligacao);
if(@mysql_num_rows($resultado)>0)
{
$erros="username_exists";
}
@mysql_free_result($resultado);
ate aqui percebi. agora na pagina do formulario.
defines o tipo de erros quer dinâmicos e gerais, e adquire os valores dos campos
# ERROS DINýMICOS
$erros_translate=array();
$erros_translate="O campo '%s' não foi preenchido";
$erros_translate="O campo '%s' não coincide com o campo '%s'";
$erros_translate="O campo '%s' tem um formato inválido";
# ERROS GERAIS
if(isset($ligacao))
$erros_translate="Ocorreu um erro na operacao MySQL: " . mysql_error($ligacao);
$erros_translate="O username que escolheu, já se encontra registado! Por favor, escolha outro";
$erros_translate="O e-mail que inseriu, já se encontra registado! Verifique se o introduziu correctamente";
# ETIQUETAS DOS CAMPOS
$fields_names=array();
$fields_names="username";
$fields_names="password";
$fields_names="nome";
# ADQUIRIR OS VALORES (SE POSTADOS)
$username=(isset($_POST)) ? $_POST : "";
$password=(isset($_POST)) ? $_POST : "";;
$nome=(isset($_POST)) ? $_POST : "";;
a seguir está:
<?php if(isset($erros) && (count($erros)>0))
{
echo '<div style="width:100%;background-color:«»DarkRed;color:White;padding: 5px 5px 5px 5px">';
echo '';
foreach($erros as $key=>$value)
{
echo "<br />";
if($key=="geral"«»)
{
foreach($erros as $key=>$erro)
echo " - " . $erros_translate . "<br />";
}
else
echo " - " . sprintf($erros_translate,$fields_names);
}
echo '</div>';
} ?>
onde mostras os erros pelo menos do SQL, username e da password caso ela exista porque estao deifinidos como
erros "geral" ($erros="username_exists";), mas fica a minha duvida, onde é defines para mostrar a mensagem de erro
quando os campos sao vazios?
Post edited by: PauloQuintas, at: 2009/03/13 18:01
============================================================================
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/13 20:06
_____________________________________
Hummmm...
Hihi ... já não uso a classe de validação à bués :D
Foi feita para PHP4 acho xD
Bem, vou procurá-la por aqui... E já te digo algo
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/14 00:26
_____________________________________
pronto... já estive a relembrar o código da classe de validação e lembrei-me que tem um método chamado getErros()
ora bem, so um exemplo pratico:
# VAMOS SUPOR QUE JA TENS AS REGRAS DEFINIDAS...
# TENS A LINHA:
if($validacao->validate($_POST,$rules))
{
# AQUI APARECE O CÓDIGO CASO ESTEJA TUDO BEM...
}
else # CASO NAO ESTEJA
{
$erros=$validacao->getErros(); # ADQUIRES OS ERROS QUE ACONTECERAM
}
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/14 00:28
_____________________________________
Eu estive a analisar o teu codigo de um post anterior...
Tu ja la tens o getErros....
faz um var_dump($erros);die(); depois disso...
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/16 14:50
_____________________________________
ja descobri o erro, eu tinha esse getErros()
comentado... já esta a funcionar tudo como deve ser :D
obrigado por tudo
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/16 15:39
_____________________________________
Pacífico ;) :)
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
Abraço
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/16 16:02
_____________________________________
tenho uma duvida, mais uma... :S desculpa
como é que funciona caso seja do tipo format?
funciona igual match?
eu coloquei assim:
...
if(($key=="email"«») && ($value=="format"«»))
echo " - " .sprintf($erros_translate,$fields_names);
elseif($key=="geral"«»)
{
foreach($erros as $erro_key=>$erro_value)
...
# ERROS GERAIS
if(isset($ligacao))
$erros_translate="Ocorreu um erro na operacao MySQL: " . mysql_error($ligacao);
$erros_translate="O username que escolheu, já se encontra registado! Por favor, escolha outro";
$erros_translate="O e-mail que inseriu, já se encontra registado! Verifique se o introduziu correctamente";
$erros_translate="O e-mail que inseriu, está invalido";
no dentro so script coloquei caso seja diferente da funçao
if(!check_email($_POST))
{
#MAL INSERIDO O EMAIL
$erros= "email_invalido.";
}
por ele depois da-me o seguinte:
Ocorreram os seguintes erros:
Notice: Undefined index: email_invalido. in C:\wamp\www\Websites\prestifarma\registocliente.php on line 346
Notice: Undefined index: format in C:\wamp\www\Websites\prestifarma\registocliente.php on line 346
ja tentei usar como o geral mas da-me o erro de ilegal type... basicamente nao posso colocar o array como o geral:
$erros="email_exists";
Post edited by: PauloQuintas, at: 2009/03/16 16:05
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/16 17:41
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
_____________________________________
Hum...
As regras para o format definem-se assim:
$rules=array("required"=>TRUE,"format"=>"email"«»)
A regra 'format' serve para, muito simplesmente, validar se são de um determinado tipo...
Presentes nessa classe são aceites os seguintes parâmetros/tipos para a regra 'format':
- email : Valida se o campo tem um e-mail válido;
- date : Valida se o campo tem uma data válida no formato dd-mm-YYYY
- codpostal : Valida se o campo possui um código postal válido (no formato XXXX ou XXXX-YYY)
- number : Valida se o campo possui um valor numérico.
Quanto à regra 'match' serve para definir se dois campos são iguais, por exemplo, o campo 'password' e o campo
'confirmar password'
Devem ambos ter o mesmo valor para serem válidos certo?
Então, basta que na regra do campo de confirmação (vamos supor que o da password é 'password' e o da confimração é
'confpassword') fique da seguinte maneira:
$rules=array('required'=>TRUE);
$rules=array('match'=>'password');
Onde o valor que colocas em frente ao match é o nome do campo com que queres verificar o match :)
..........................
Quanto aos erros :), ao fazeres um getErros() ele traz-te um array do tipo:
array(
"password"="required",
"confpassword"="match"
);
se quiseres criar um translate, tens que fazer:
$erros_translate="O campo de Confirmação de Password não é igual ao da Password";
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/17 18:06
_____________________________________
era esse o meu objectivo usar o format para verificar o email e outros
andei hoje o dia inteiro a tentar mas em vão...
sera que da para usar assim?
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
if(!valid_email)//o nome da funçao deve ser diferente
{
$erros="email mal inserido";
}
}
============================================================================
Re:Erro de registo
Posted by mAiN_iNfEcTiOn - 2009/03/18 00:16
_____________________________________
PauloQuintas wrote:
era esse o meu objectivo usar o format para verificar o email e outros
andei hoje o dia inteiro a tentar mas em vão...
sera que da para usar assim?
if(!valid_email)//o nome da funçao deve ser diferente
Não, mas podes fazer
if($validacao->check_email($variavelComEmail)===FALSE)
{
$erros_translate="E-mail Inválido";
}
Espero ter ajudado :)
============================================================================
Re:Erro de registo
Posted by PauloQuintas - 2009/03/19 12:31
_____________________________________
boas, n consegui fazer aparecer os erros do tipo format mas já consegui resolver o problema, juntei as duas formas :P
ex:
foreach ($_POST as $key=>$post)
{
$_POST = strip_tags($post);
}
if(!valid_email($_POST))
{
$erro = "&nbsp;&nbsp;- O campo email est&aacute; inv&aacute;lido.";
}
else
{
$resultado=mysql_query(sprintf("SELECT * FROM user WHERE email='%s'",
@mysql_real_escape_string($_POST)),$ligacao);
if (@mysql_num_rows($resultado))
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50
{
$erro = "O e-mail que inseriu, já se encontra registado!";
}
}
if (!valid_pass($_POST))
{
$erro = "&nbsp;&nbsp;- O campo password &eacute; inv&aacute;lido";
}
depois na pagina:
<?php if(isset($erro) && (count($erro)>0))
{
echo '<div style="width:50%;background-color:«»DarkRed;color:White;padding: 5px 5px 5px 5px">';
echo '';
foreach($erro as $key=>$post)
{
echo "<br />";
echo sprintf($erro);
}
echo "<br />";
//echo $erro;
echo '</div>';
}
?>
============================================================================
PHP-PT.com Forum - Comunidade Portuguesa de PHP
Joomlaboard Forum Component version: 1.1.4 Stable
Generated: 30 September, 2016, 23:50

Documentos relacionados