Ir para conteúdo

POWERED BY:

Arquivado

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

Vitor Cazelatto

Problemas com o if

Recommended Posts

Galera estou com um problema de condição com o seguinte código:

<?php
       include "config.php";
       
       $busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");
       $verifica = mysql_num_rows($busca);
       
        //usuario cadastrando
        if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar"){
		
	$nome = $_POST['nome'];
        $login = $_POST['login'];
        $senha = $_POST['senha'];
        $sql = mysql_query("INSERT INTO  `db_cad`.`login_session` (`nome`, `login`, `senha`)VALUES ('".$nome."','".$login."','".$senha."');");
           echo "<span class=\"ok\">Usuário cadastrado com sucesso!</span>"; 
        }else{
           echo "<span class=\"no\">Usuário já cadastrado!</span>";             
        }    
        
        ?>     

 

Quando salvo este arquivo o seguinte erro é diagnosticado:

"Notice: Undefined variable: login in C:\Program Files\VertrigoServ\www\_estagio\ALP2\index.php on line 36"

 

Valeu!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

$busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");

você não esta declarando uma variavel invalida pra fazer a query não?

 

como vc declara uma variavel dentro de uma query sem ela ter sido inicializada ainda? acredito que isso faz ela ser invalida/indefinida

 

a menos que no config.php você tenha uma variavel login vc tem que usar $_POST['login'] dentro da query

 

tenta assim

$busca = mysql_query("SELECT * FROM login_session WHERE login=' ". $_POST['login'] ." '");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei colocar as 3 vars depois do include e não funcionou, fiz o que o samoel disse e também nao funcionou, o erro perciste, vou colocar o código completo da pagina

 

<html>
    <head>
        <title>Cadastro de Usuário</title>
        <link href="estilo.css" rel="stylesheet" type="text/css"/>
        <meta charset="UTF-8" />
    </head>
    <body>
        <div id="box">
            <div id="formulario_cadastro">
                <form action="<?php $_SERVER['PHP_SELF'];?>" method="post" name="form1" enctype="multipart/form-data">
                    <fieldset>
                        <legend>Cadastro de Usuários</legend>
                        <label>
                            <span>Nome:</span>
                            <input type="text" name="nome" id="nome" />
                        </label>
                        <label>
                            <span>Login:</span>
                            <input type="text" name="login" id="login" />
                        </label>
                         <label>
                            <span>Senha:</span>
                            <input type="password" name="senha" id="senha" />
                        </label>
                        <input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" class="btn"/>
                        <input type="hidden" value="CAD" name="C1">
                   </fieldset>
                </form>
                
                
            </div>
        </div>
<?php
       include "config.php";
       
       $busca = mysql_query("SELECT * FROM login_session WHERE login='".$_POST['login']."'");
       $verifica = mysql_num_rows($busca);
       
        //usuario cadastrando
        if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar"){
		
	$nome = $_POST['nome'];
        $login = $_POST['login'];
        $senha = $_POST['senha'];
        $sql = mysql_query("INSERT INTO  `db_cad`.`login_session` (`nome`, `login`, `senha`)VALUES ('".$nome."','".$login."','".$senha."');");
           echo "<span class=\"ok\">Usuário cadastrado com sucesso!</span>"; 
        }else{
           echo "<span class=\"no\">Usuário já cadastrado!</span>";             
        }    
        
        ?>     
        
    </body>
</html>


se alguém puder ajudar, fico agradecido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você tem isso:

$busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");
$verifica = mysql_num_rows($busca);

Mas ainda não pegou o valor de $login, teria que dar o POST $login = $_POST['login']; antes desse SELECT.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você tem isso:

 

$busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");
$verifica = mysql_num_rows($busca);

Mas ainda não pegou o valor de $login, teria que dar o POST $login = $_POST['login']; antes desse SELECT.

Ele já fez isso, setou a variavel POST diretamente, tinha avisado a ele já... o erro persiste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você tem isso:

 

$busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");
$verifica = mysql_num_rows($busca);

Mas ainda não pegou o valor de $login, teria que dar o POST $login = $_POST['login']; antes desse SELECT.

 

se for isso:

<?php
       include "config.php";
       $login = $_POST['login'];
       $busca = mysql_query("SELECT * FROM login_session WHERE login='".$_POST['login']."'");
       $verifica = mysql_num_rows($busca);
       
        //usuario cadastrando
        if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar"){
		
	$nome = $_POST['nome'];
        $login = $_POST['login'];
        $senha = $_POST['senha'];
        $sql = mysql_query("INSERT INTO  `db_cad`.`login_session` (`nome`, `login`, `senha`)VALUES ('".$nome."','".$login."','".$senha."');");
           echo "<span class=\"ok\">Usuário cadastrado com sucesso!</span>"; 
        }else{
           echo "<span class=\"no\">Usuário já cadastrado!</span>";             
        }    
        
        ?>     

não está funcionando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tá fazen

 

se for isso:

<?php
       include "config.php";
       $login = $_POST['login'];
       $busca = mysql_query("SELECT * FROM login_session WHERE login='".$_POST['login']."'");
       $verifica = mysql_num_rows($busca);
       
        //usuario cadastrando
        if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar"){
		
	$nome = $_POST['nome'];
        $login = $_POST['login'];
        $senha = $_POST['senha'];
        $sql = mysql_query("INSERT INTO  `db_cad`.`login_session` (`nome`, `login`, `senha`)VALUES ('".$nome."','".$login."','".$senha."');");
           echo "<span class=\"ok\">Usuário cadastrado com sucesso!</span>"; 
        }else{
           echo "<span class=\"no\">Usuário já cadastrado!</span>";             
        }    
        
        ?>     

não está funcionando...

  1. $login = $_POST['login'];
  2. $busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");

assim no caso!



if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar")

 

VOCÊ TÁ FAZENDO A VERIFICAÇÃO DA MESMA VARIAVEL DUAS VEZES

 

usa o if assim que fica melhor, se n funcionar me avisa

 

if($verifica ==0 and $_POST['login'] and $_POST['C1'] and $_POST['nome'] != "" and $_POST['cadastrar']=="Cadastrar")

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Você tá fazen

 

  1. $login = $_POST['login'];
  2. $busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");

assim no caso!

if($verifica == 0 && isset($_POST['nome']) && $_POST['nome'] != "" && isset($_POST['login']) && $_POST['login'] != "" && isset($_POST['senha']) && $_POST['senha'] != "" && isset($_POST['C1']) && isset($_POST['cadastrar']) && $_POST['cadastrar']=="Cadastrar")

 

VOCÊ TÁ FAZENDO A VERIFICAÇÃO DA MESMA VARIAVEL DUAS VEZES

 

usa o if assim que fica melhor, se n funcionar me avisa

 

if($verifica ==0 and $_POST['login'] and $_POST['C1'] and $_POST['nome'] != "" and $_POST['cadastrar']=="Cadastrar")

Não funcionou, apareceu outro erro também...

 

Notice: Undefined index: login in C:\Program Files\VertrigoServ\www\_estagio\ALP2\index.php on line 35

Notice: Undefined index: login in C:\Program Files\VertrigoServ\www\_estagio\ALP2\index.php on line 36

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta como tá o código agr

 

<?php
       include "config.php";
       $login = $_POST['login'];
       $busca = mysql_query("SELECT * FROM login_session WHERE login='$login'");   
       $verifica = mysql_num_rows($busca);
       
        
//usuario cadastrando
        if($verifica ==0 and $_POST['login'] and $_POST['C1'] and $_POST['nome'] != "" and $_POST['cadastrar']=="Cadastrar"){
		
	$nome = $_POST['nome'];
        $login = $_POST['login'];
        $senha = $_POST['senha'];
        $sql = mysql_query("INSERT INTO  `db_cad`.`login_session` (`nome`, `login`, `senha`)VALUES ('".$nome."','".$login."','".$senha."');");
           echo "<span class=\"ok\">Usuário cadastrado com sucesso!</span>"; 
        }else{
           echo "<span class=\"no\">Usuário já cadastrado!</span>";             
        }    
        
        ?>

 

o if não teria que ser assim?

if($verifica ==0 && isset($_POST['login']) && isset($_POST['C1']) && isset($_POST['nome']) && isset($_POST['senha']) && $_POST['nome'] != "" && $_POST['login'] != "" && $_POST['senha'] != "" && $_POST['cadastrar']=="Cadastrar")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, da um valor pro $login, sem o POST, só pra testar:

 

$login = "teste";

 

Parece que você não ta recebendo nada por POST

É cara, faz isso, se n for isso então n sei

Compartilhar este post


Link para o post
Compartilhar em outros sites

não está indo...

vc fez

<?php

echo $_POST['login']."<br/>";
echo $_POST['nome']."<br/>";
echo $_POST['senha']."<br/>";
echo $_POST['cadastrar']."<br/>";

?>

foi isso que vc fez?
se não foi faça isso e veja se tá retornando algum valor
se ja fez e deu erro mostre que erro é, tire um print ou algo assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formate para uma forma mais legível o if

 

    if(!$verifica && isset($_POST['login']) && isset($_POST['C1']) && isset($_POST['nome']) && isset($_POST['senha']) && !empty($_POST['nome']) && !empty($_POST['login']) && !empty($_POST['senha'])){

Utilize o include em sua norma padrão

 include('config.php');

Este pequeno teste funcionou perfeitamente, o erro provavelmente está na query que verifica a quantidade de linhas:

    <html>
    <head>
    <title>Cadastro de Usuário</title>
    <link href="estilo.css" rel="stylesheet" type="text/css"/>
    <meta charset="UTF-8" />
    </head>
    <body>
    <div id="box">
    <div id="formulario_cadastro">
    <form action="" method="post" name="form1" enctype="multipart/form-data">
    <fieldset>
    <legend>Cadastro de Usuários</legend>
    <label>
    <span>Nome:</span>
    <input type="text" name="nome" id="nome" />
    </label>
    <label>
    <span>Login:</span>
    <input type="text" name="login" id="login" />
    </label>
    <label>
    <span>Senha:</span>
    <input type="password" name="senha" id="senha" />
    </label>
    <input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" class="btn"/>
    <input type="hidden" value="CAD" name="C1">
    </fieldset>
    </form>
    </div>
    </div>
    <?php
  if(isset($_POST['nome']){
      echo $_POST['nome'].'<br />';
       echo $_POST['login'].'<br />';
        echo $_POST['senha'].'<br />';
    }
    ?>
    </body>
    </html>

E se possível, utilize a forma de escape de erros do mysql

mysql_query("SELECT * FROM login_session WHERE login='".$_POST['login']."'") or die (mysql_error());

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.