Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou montando um sisteminha aqui e estou com a seguinte dúvida:
Tenho uma função chamada validate();
function Validate()
{
$errors = array();
if((strlen($this->Username)) < 3 )
{
$errors[] = "Username must be at list 3 characters";
}
if(false === filter_var($this->Email, FILTER_VALIDATE_EMAIL))
{
$errors[] = "Email not valid";
}
if((strlen($this->Password)) < 5 )
{
$errors[] = "Password must be at list 5 characters";
}
//
return $errors;
}
E uma outra função, para inserir o usuário no bd.
function InsertUserToSql()
{
$error = $this->Validate();
if(count($error) > 0 )
{
return $error;
}
else
{
Bom, quando eu imprimo o $error na página de chamada do código, se ele autentica as variaveis, msm assim ele continua
imprimindo: 00000.
$reg = new Registration;
$reg->SetUsername($_POST['username']);
$reg->SetPassword($_POST['password']);
$reg->SetEmail($_POST['email']);
$error = $reg->InsertUserToSql(); // see notes at the class
if (count($error) != 0) {
foreach ($error as $erro)
{
echo $erro . "<br />";
}
}
Alguem ae poderia me ajudar?
na função function InsertUserToSql() qual o procedimento executado no ELSE {
>
seguinte:
$error = $reg->InsertUserToSql(); // see notes at the class
echo '<pre>';
var_dump( $error );
poste oq aparecer.
array
0 => string '00000' (length=5)
1 => null
2 => null
hummmm.. interessante, mas não entendi :S
>
na função function InsertUserToSql() qual o procedimento executado no ELSE {
Ele executa uma consulta no banco de dados, aonde ele grava o login, senha e email.
o teu array parece estar se perdendo em algum lugar, continue debugando:
function InsertUserToSql()
{
$error = $this->Validate();
echo 'Dentro da função InsertUser: <pre>';
var_dump( $error );
poste oque aparecer.
Cara olhando por alto você nao esta imprimindo $error
Esta imprimindo $erro
>
o teu array parece estar se perdendo em algum lugar, continue debugando:
function InsertUserToSql()
{
$error = $this->Validate();
echo 'Dentro da função InsertUser: <pre>';
var_dump( $error );
poste oque aparecer.
Dentro da função InsertUser:
array
empty
00000
Apareceu isso aí.. :S
Estranho hein?!
//
echo 'Dentro do validate <pre>';
var_dump( $errors );
return $errors;
o seu servidor está com register_globals em ON ? (se estiver, desligue)
>
Estranho hein?!
//
echo 'Dentro do validate <pre>';
var_dump( $errors );
return $errors;
o seu servidor está com register_globals em ON ? (se estiver, desligue)
Já está desligado.. aquele resultado tinha sido retornado fora da condição if(count.., dentro dessa condição ele retornou apenas os '00000'.. --'
seguinte:
$error = $reg->InsertUserToSql(); // see notes at the class
poste oq aparecer.