Ir para conteúdo

Arquivado

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

Teixeira Junior

Retornar erro do php com ajax

Recommended Posts

Eae galera beleza, bom sou iniciante em ajax to fazendo um sistema de login

e queria saber como faço para retornar um erro do php

por exemplo temos uma condição x e se esta condição nao for verdadeira

aparece a mensagem else{

 

menssagem bla bla bla

}

so que quero fazer o seguinte ao inves de o erro do formulario ser retornado na pagina que ira ser verificado o nome de usuario e senha

quero retornar logo o erro na pagina de login,

Desde de já agradeço : segue a abaixo a pagina de login e a pagina de confirmação:

 

verifica.php

<?php
session_start();
include "config.php";
$login = $_POST['email'];
$senha = $_POST['senha'];
$sql = "SELECT * FROM usuarios WHERE login = '".$login."' AND senha = '".$senha."'";
$query = mysql_query($sql);
$conta = mysql_num_rows($query);

	if($conta == 1){
		$puxars = "SELECT * FROM usuarios WHERE login = '".$login."' AND senha = '".$senha."'";
		$puxarq = mysql_query($puxars);
		$row = mysql_fetch_array($puxarq);
		$_SESSION['id']    =  $row['id'];
		$_SESSION['email'] =  $row['email'];
		$_SESSION['senha'] =  $row['senha'];
		$_SESSION['login'] =   $row['login'];
		$_SESSION['idade'] =  $row['idade'];
		$_SESSION['blabla'] = $row['blabla'];
		$_SESSION['ip'] = 	  $row['ip'];
		
		
		echo "<script>location.href='painel.php';</script>";
	}
	else{
		echo "<h2>Ocorreu algum erro !</h2>";
	}
?>

login.php

<form id='form' action='verifica.php' method='POST'>
<div style="position:relative; left:120px; top:0px; font-family:verdana; font-size:13px; color:#9f9f9f;">Login:</div>
<input required="required" name="login" type="text"></input><br>
<div style="position:relative; left:120px; top:0px; font-family:verdana; font-size:13px; color:#9f9f9f;">Senha:</div>
<input required="required" name="senha" type="password"></input><br><br><br>
<button>Login</button>
</form>

quero que a msg de erro apareça ai no login.php

 

Abraço!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use uma chamada ajax ao clicar no button login que chame o arquivo verifica.php case ocorratudo bem de um echo '1' caso contrario echo '0'; no retorno vc trata no ajax;

 

Utilizando jquery:http://api.jquery.com/jquery.post/

$.post( "verifica.php", function(resultado) {
  $(".result").html( data );
  if(resultado == 0){
    //faça alguma coisa
  }else if(resultado == 1){
    //faça alguma coisa
  }
});

se as informações forem verdadeiras pode ate mesmo fazer o redirecionamento pelo php ao invez do javascript deixando o javascript somente para tratar o erro. espero ter ajudado. a forma que vc veznão é muito recomendada e na minha opnião se chegar a funcionar possivelmente pode vir a dar erros, ja que a linguagem php e linguagem servidor e javascript de front-end a linguagem servidor executa primeiro e logo apos executa o javascript

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse post eu dei uma alternativa para manipular o dado, em caso de erro, mas se você quer realmente tratar o erro sugiro outro formado, vou deixar um exemplo abaixo, no formato abaixo você pode tratar o erro de uma forma mais organizada, não sei o que você quer fazer o erro, você pode tanto usar uma div ou qualquer outro elemento ou usar o erro para mostrar uma modal um toast, ou regredir uma ação.

 

var urlSuccess = 'https://reqres.in/api/unknown/2';
var urlError = 'https://reqres.in/api/users/23';

function callApi(url) {
  $.get(url)
    .done(function(response){
      $('#success').html(response.data.name);
    })
    .fail(function(error){
      $('#error').html(error.status);
    });
}

callApi(urlSuccess);
callApi(urlError);

Jsbin: https://jsbin.com/gowupufuwi/edit?html,js,console,output

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.