Para despistar, tentes o seguinte:

- Verifique se a senha está vindo. Um var_dump($this->input->post(‘psswd’))
já dá para ver se há algo na variável.

- Verifique também se está a passar pelo form_validation. Um echo
validation_errors() na view ;P

 

Num primeiro momento, ambos os códigos estão corretos.

De qualquer forma, teste também a instrução SQL. Um echo
$this->db->last_query() após o comando $this->db->query(....);

 

No código que te enviei, coloquei mais algumas linhas, após o //Daí para
frente....

Vê lá se te dá jeito.

 

De: [email protected]
[mailto:[email protected]] Em nome de thiago carvalho
Enviada em: quarta-feira, 23 de junho de 2010 15:52
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] RES: há algo de errado nesse codigo?

 

Olá, obrigado pela ajuda Rafael, porém com esse código continua o mesmo
problema.

O código não está fazendo login em outras palavras ele não esta comparando a
senha digitada com a senha no db.

pensei numa solução simples porem não sei se é possível, é a seguinte.

 

if($this->input->post('s_ok'))

{$senha =  (linha do mysql para recuperar a senha do db.)

if($this->input->post('psswd') == $senha)

{

                           ........

 

Eu pensei no seguinte,  comparar a senha já no if, pode não ser a mais
segura mas, no momento pode ser só isso mesmo.

Mas, o problema é que há varias senhas no banco de dados e todas  tem que
validar o login e como não tenho nenhum id preciso de uma linha de comando
do MySql que consiga fazer isso que compare campo por campo até achar alguma
senha igual e ae armazenar na variável, para que depois possa fazer a
validação. 

Como disse não sei se é possível mais não consigo ver outra solução =/

 

 

Em 23 de junho de 2010 11:08, Rafael V. de Oliveira
<[email protected]> escreveu:

Olá Thiago.

 

Acho melhor eu escrever um exemplo, aí tu digas-me se é isso ou não.

 

A view é igual ao que escreveste.

 

Controller

$this->load->library(‘form_validation’);

$this->form_validation->set_rules(‘psswd’, ‘Password’,
‘required|min_length[3]|max_length[20]’);

 

if ( $this->form_validation->run() === TRUE )

{

             $senha = $this->input->post(‘pssw’, TRUE);

                $this->db->where(‘senha’, $senha);

      $febsinpa = $this->db->get(‘sinpa’);

      $this->db->where(‘senha’, $senha);

      $febsinla = $this->db->get(‘sinla’);

      echo ‘<br />’.$febsinpa->num_rows();

      echo ‘<br />’.$febsinla->num_rows();

}

 

Por questões de segurança, sugiro que trate o campo de password. O
input->post(‘campo’, TRUE) (note o TRUE no final) faz uma verificação, porém
é sempre bom testar quais os valores possíveis.

 

Já agora, deixo aqui uma pergunta.

 

Quais dos colegas utiliza nas views o form helper?

Eu particularmente não uso. Acho que não há mal nenhuma em escrever <form
bla bla bla e <input bla bla bla

Pra mim fica até melhor para visualizar. Sem contar que posso passar para
designer alterar da forma que eles quiserem.

 

Thiago, só para finalizar, verifique o teu português antes de enviar os
e-mails. Não há pontuação e também alguns erros man. Também escrevo coisas
erradas, mas não custa nada passar um verificador ortográfico. Ou ao menos
reler o que estás a escrever.

 

Abraços

 

De: [email protected]
[mailto:[email protected]] Em nome de thiago carvalho
Enviada em: quarta-feira, 23 de junho de 2010 13:09
Para: CodeIgniter Brasil
Assunto: [CodeIgniter] há algo de errado nesse codigo?

 

            

nao consigo achar o erro nesses codigos para mim parece estar tudo normal
mais ele nao funciona  ele esta apenas vereficando se algo salvo na vareavel
mais a validação nao está funcionando  ele deixa passar qual coisa deis de
qque o campo nao esteja vazio 

 

 

 

 

<?php echo form_open('auth/login'); ?>

                                   Senha:<br />

                                   <?php echo
form_password(array('name'=>'psswd', 'value'=>'',
'style'=>'width:230px;text-align:center;'))?>

                                   <?php echo
form_submit(array('name'=>'s_ok','value'=>' ok ', 'class'=>'input_login'))
?>

                                   <?php echo form_close(); ?>

                                   <?php
if($this->session->flashdata('msg_s')) { ?>

                                               <span style="color:#f00;">

                                               <?php echo
$this->session->flashdata('msg_s'); ?>

                                               </span>

                                   <?php } ?>

----------------------------------------------------------------------------
-------------------------------------------------------------------

 

if($this->input->post('s_ok'))

                        {

                                   if($this->input->post('psswd'))

                                   {

                                               

                                               $senha =
$this->input->post('psswd');

                                               $febsinpa =
$this->db->query("SELECT * FROM sinpa WHERE psswd = '$senha' ");

                                               $febsinla =
$this->db->query("SELECT * FROM sinla WHERE psswd = '$senha' ");

 

                                               $febsinpa =
$febsinpa->result();

                                               $febsinla =
$febsinla->result();


-- 
_-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-_


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br




-- 
_-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-__-_-_

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a