Ir para conteúdo
Fórum Script Brasil

yuhyuuki

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por yuhyuuki

  1. Olá, estou criando um sistema basico de login e cadastro com PHP e MySQ (PHPMyAdmin) e utilizando a ferramenta PDO para conexao e acesso ao banco de dados.

    Tudo ocorre bem porem, ao cadastrar um usuario ele cadastra com sucesso mas aprensenta uma mensagem de erro dizendo que as variaveis "$logarray" e "$emailarray" não estão definidas. E eu preciso delas para verificar se o login ou email já esta cadastrado.

    <?php
    // Conexao do Banco.
    $con = new PDO("mysql:host=localhost;dbname=loja", "root", "");
    // Variaveis pegando info do formulario.
    $login = $_POST["user"];
    $senha = $_POST["pass"];
    $email = $_POST["email"];
    // Inserindo os dados na variavel query
    $query = $con->prepare("INSERT INTO login(user,pass,email) values(:user ,:pass ,:email)"); 
    $query->bindParam(':user', $login);
    $query->bindParam(':pass', $senha);
    $query->bindParam(':email', $email);
    // Colocando os dados em um array
    // $row = $query->fetch(PDO::FETCH_OBJ)
    while($row = $query->fetch()){
    	$logarray = $row['user'];
    	$passarray = $row['pass'];
    	$emailarray = $row['email'];}
    // Verificando se campo está nulo.
    	if($login == "" || $login == null){
    		echo"<script type='text/javascript'>
    		alert('Oops..., Campo Login esta Vazio!');</script>";
    	}else if($senha == "" || $senha == null){
    		echo"<script language='javascript' type='text/javascript'>
    		alert('O campo senha deve ser preenchido')</script>";
    	}else if($email == "" || $email == null){
    		echo"<script language='javascript' type='text/javascript'>
    		alert('O campo email deve ser preenchido');window.location.href='cadastro.html';</script>";
    	}else{
    	// Verifica se já existe
    		if($logarray == $login){
    			echo"<script language='javascript' type='text/javascript'>
    			alert('Esse login já existe');window.location.href='cadastro.html';</script>";
    			die();
    
    		}else if ($emailarray == $email){
    			echo"<script language='javascript' type='text/javascript'>
    			alert('Esse email já existe');window.location.href='cadastro.html';</script>";
    			die();
    		}
    		else{
    		// Executa a query INSERT
    			$insert =$query->execute();
    			if($insert){
    				echo"<script language='javascript' type='text/javascript'>
    				alert('Usuario cadastrado com sucesso!');window.location.href='index.html'</script>";
    			}else{
    				echo"<script language='javascript' type='text/javascript'>
    				alert('Usuario não cadastrado!');window.location.href='cadastro.html'</script>";
    			}
    		}
    	}
    ?>
    

    Obrigado!

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

    Achei uma Solução:

    Ao invez de usar assim:

    while($row = $query->fetch()){
    	$logarray = $row['user'];
    	$passarray = $row['pass'];
    	$emailarray = $row['email'];}
    

    Usar deste jeito:

    $row = $query->fetch(PDO::FETCH_ASSOC);
    	$logarray = $row['user'];
    	$passarray = $row['pass'];
    	$emailarray = $row['email'];
    

    Resolvido por mim mesmo ^^.

×
×
  • Criar Novo...