Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pitag346

Erro com Função IF

Recommended Posts

Olá pessoal...

estou com um problema...

tenho uma pagina chamada RECUPERAR.PHP

ela pega o email digitado via $_POST, e verifica na database, caso esteja algum usuario registrado com o email digitado ele envia um email com um link temporario no caso o link seria

recuperar2.php?cod=codigo temporario registrado na db

e esse codigo expira conforme o tempo ou se o usuario entrou no link com o codigo...

até ai tudo bem!

o problema é que eu pego o $codigo via $_GET e verifico se consta na DB o codigo, caso não esteja na db retorne o erro "LINK EXPIRADO" caso esteja na db mostrasse os campos para efetuar a alteração dos dados...

eu tenho o seguinte codigo PHP:

$codigo = $_GET['cod'];
$query = mysql_query("SELECT codigo FROM codigos WHERE codigo = '$codigo'") or die(mysql_error());
while($row = mysql_fetch_array($query)){
if ($codigo==$row['codigo']){
       echo "OK";
        }else{
           echo "ERRO";
        }
  }
?>

 

no caso quando adiciono o codigo correto e retorna "OK" como esperado, mas caso esteja sido expirado o código não aparece nada...

e eu queria adicionar pra quando o código estiver correto os campos para alteração aparecessem mas eu tentei e não obtive exito !

segue abaixo o código dos campos inputs:

 <div class="login-head">
    <h2>Recuperação de Senha</h2> 
  </div>
  <div class="sub-head">
    <h3>Digite sua nova senha:</h3>
  </div>
   <form action="" method="post" enctype="multipart/form-data" >
   <center>
     <p>
       <input type="text" class="text" name="nova_senha" id="nova_senha" value="Nova Senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'nova senha';}" >
     </p>
     <p>
       <input type="text" class="text" name="confirma_senha" id="nova_senha2" value="Confirma Nova senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Confirma nova senha';}" />
     </p>
     <p>  </p>
   </center><br>
   <div class="submit">
    <input type="submit" onclick="myFunction()" value="Salvar" >
   </div>
    <span> </span>
  </form>

Espera que me ajudem! estou quebrando a cabeça com isso faz tempo :x

Compartilhar este post


Link para o post
Compartilhar em outros sites

Try anything like below:

if ($codigo==$row['codigo']){
   echo "OK";
}else{
   echo "ERRO";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Try anything like below:

if ($codigo==$row['codigo']){
   echo "OK";
}else{
   echo "ERRO";
}

 

eu fiz dessa forma amigo:

$query = mysql_query("SELECT codigo FROM codigos WHERE codigo = '$codigo'") or die(mysql_error());
while($row = mysql_fetch_array($query)){
$codigo1 = $row['codigo'];	
}
if ($codigo==$codigo1){
       echo "OK";
}else{
       echo "ERRO";
}

e consegui obter exito, mas o problema agora seria adicionar os campos caso o codigo estiver correto com o da database....

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já está selecionando no db utilizando o codigo, então se retornar, ele existe, logo, faça assim:

$codigo = $_GET['cod'];
$query = mysql_query("SELECT codigo FROM codigos WHERE codigo = '$codigo'") or die(mysql_error());
if(mysql_num_rows($query) > 0){
   while($row = mysql_fetch_array($query)){
        echo $row['codigo'];
   }
}else{
   echo 'Não encontramos nenhum registro com este código';
}
?>

Outra dica, dê uma estudada em orientação a objetos e pdo: http://php.net/manual/pt_BR/book.pdo.php

A função mysql_* é deprecated

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já está selecionando no db utilizando o codigo, então se retornar, ele existe, logo, faça assim:

$codigo = $_GET['cod'];
$query = mysql_query("SELECT codigo FROM codigos WHERE codigo = '$codigo'") or die(mysql_error());
if(mysql_num_rows($query) > 0){
   while($row = mysql_fetch_array($query)){
        echo $row['codigo'];
   }
}else{
   echo 'Não encontramos nenhum registro com este código';
}
?>

Outra dica, dê uma estudada em orientação a objetos e pdo: http://php.net/manual/pt_BR/book.pdo.php

A função mysql_* é deprecated

Beleza... obrigado...

sabe me dizer como faço para adicionar os campos inputs caso o codigo esteja correto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
$_POST["nomecampo"];

não amigo, eu quero adicionar esse codigo:

<input type="text" class="text" name="nova_senha" id="nova_senha" value="Nova Senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'nova senha';}" >
     </p>
     <p>
       <input type="text" class="text" name="confirma_senha" id="nova_senha2" value="Confirma Nova senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Confirma nova senha';}" />

caso o sistema validar o codigo vindo do $_GET .... se não estiver valido retorna o erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi bem, mas se o que precisa é construir os campos na tela, é só passar eles em um echo:

echo "o que quer imprimir na tela";

Só precisa mudar as aspas duplas para simples já que a string do echo fica entre aspas duplas. Ou então mudar as aspas duplas do echo para simples. Eu prefiro colocar as aspas do echo duplas.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$codigo = $_GET['cod'];
$query = mysql_query("SELECT codigo FROM codigos WHERE codigo = '$codigo'") or die(mysql_error());
if(mysql_num_rows($query) > 0){
// Se tem código cadastrado no DB, cai aqui:
?>
<input type="text" class="text" name="nova_senha" id="nova_senha" value="Nova Senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'nova senha';}" >
</p>
<p>
<input type="text" class="text" name="confirma_senha" id="nova_senha2" value="Confirma Nova senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Confirma nova senha';}" />
<?php
}else{
// Se não tem código cadastrado no DB, cai aqui
echo 'Não encontramos nenhum registro com este código';
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.