Como receber informações do php via ajax

21/04/2020

0

Estou criando um aplicativo com cordova, com o banco de dados externo em mysql/php. Estou à utilizar ajax para enviar e receber dados, o login e o cadastro já estão funcionando perfeitamente. Mais minha dificuldade agora é como receber informações do php via ajax. Por exemplo quando o usuário loga o Nome,Id, são transformados em sessions no php, Como faço para pegar esses dados e mostrar no aplicativo? Como ficaria mais ou menos um código ajax recebendo esses dados. Obrigado !!!

logar.php
<?php
include "connect.php";

$uname = mysqli_real_escape_string($con,$_POST['username']);
$password = mysqli_real_escape_string($con,$_POST['password']);

if ($uname != "" && $password != ""){

    $sql_query = "select count(*) as cntUser from aplicativo where username='".$uname."' and password='".$password."'";
    $result = mysqli_query($con,$sql_query);
    $row = mysqli_fetch_array($result);

    $count = $row['cntUser'];

    if($count > 0){
        $_SESSION['uname'] = $uname;
        $_SESSION['id'] = $id;
        echo 1;
    }else{
        echo 0;
    }

}



logando.js
$(document).ready(function(){
  $("#but_submit").click(function(){
      var msg = "";
      var username = $("#txt_uname").val().trim();
      var password = $("#txt_pwd").val().trim();

      if( username != "" && password != "" ){
          $.ajax({
              url:'http://compre-aqui.com/checkUser.php',
              type:'post',
              data:{username:username,password:password},
              beforeSend: function(){
                $("#but_submit").val("Verificando dados...");
              },
              success:function(response){
                  if(response == 1){

                      window.location = "home.html";
                      $("#name").text(`$`);
                  }else{
                      msg = "Usuário ou senha incorretos"
                      setTimeout(function (){
                      $("#but_submit").val("Entrar");
                      }, 800);
                  }
                  $("#message").html(msg).show();
              }
          });
      }
  });
});
André Luis

André Luis

Responder

Posts

22/04/2020

Ayrton Pereira

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?
Responder

27/04/2020

André Luis

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?


Boa tarde Ayrton, se você observar bem
if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo 1;
está dando certo, por que o
success:function(data){
                  if(data == 1){
                    console.log(data);
                  }
, também é 1, mais se por exemplo eu colocar "echo 2" no php, não consigo mais fazer login, ou seja tem algum problema que não consigo identificar, mais se eu colocar também o "2 no
data == 2
; ele loga normalmente, então tem algum erro no meu código...
Responder

30/04/2020

Ayrton Pereira

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?


Boa tarde Ayrton, se você observar bem
if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo 1;
está dando certo, por que o
success:function(data){
                  if(data == 1){
                    console.log(data);
                  }
, também é 1, mais se por exemplo eu colocar "echo 2" no php, não consigo mais fazer login, ou seja tem algum problema que não consigo identificar, mais se eu colocar também o "2 no
data == 2
; ele loga normalmente, então tem algum erro no meu código...


André,

Você quer mandar mais de uma informação, é isso? Além do 1, você quer enviar alguma outra informação?
Responder

03/05/2020

André Luis

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?


Boa tarde Ayrton, se você observar bem
if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo 1;
está dando certo, por que o
success:function(data){
                  if(data == 1){
                    console.log(data);
                  }
, também é 1, mais se por exemplo eu colocar "echo 2" no php, não consigo mais fazer login, ou seja tem algum problema que não consigo identificar, mais se eu colocar também o "2 no
data == 2
; ele loga normalmente, então tem algum erro no meu código...


André,

Você quer mandar mais de uma informação, é isso? Além do 1, você quer enviar alguma outra informação?


o 1 é apenas um teste, eu quero coletar as informações do usuário que acabou de logar, nome, endereço etc
Responder

03/05/2020

André Luis

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?


Boa tarde Ayrton, se você observar bem
if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo 1;
está dando certo, por que o
success:function(data){
                  if(data == 1){
                    console.log(data);
                  }
, também é 1, mais se por exemplo eu colocar "echo 2" no php, não consigo mais fazer login, ou seja tem algum problema que não consigo identificar, mais se eu colocar também o "2 no
data == 2
; ele loga normalmente, então tem algum erro no meu código...


André,

Você quer mandar mais de uma informação, é isso? Além do 1, você quer enviar alguma outra informação?


Quero receber todas as informações do usuário logado por exemplo, nome, endereço etc
Responder

04/05/2020

Ayrton Pereira

André, bom dia, cara!

Bom, depende muito de onde você quer mostrar essa informação. Se você quer mostrar na mesma página (antes de ser redirecionado para
home.html
) você pode receber essa informação do PHP utilizando
success: function(data){}
ao invés de
success: function(response){}
. Automaticamente, você teria as informações que foram enviadas pelo PHP dentro da sua variável
data
, aí basta você enviar as informações que você quer mostrar para o usuário no seu código PHP.

Seria isso?


Boa tarde Ayrton, se você observar bem
if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo 1;
está dando certo, por que o
success:function(data){
                  if(data == 1){
                    console.log(data);
                  }
, também é 1, mais se por exemplo eu colocar "echo 2" no php, não consigo mais fazer login, ou seja tem algum problema que não consigo identificar, mais se eu colocar também o "2 no
data == 2
; ele loga normalmente, então tem algum erro no meu código...


André,

Você quer mandar mais de uma informação, é isso? Além do 1, você quer enviar alguma outra informação?


Quero receber todas as informações do usuário logado por exemplo, nome, endereço etc



André, agora entendi!

Bom, você pode fazer da seguinte forma, talvez não seja a melhor forma, mas pra mim sempre funciona.

No seu PHP, após o login, você pode devolver essas informações em um texto separado por "|" e no seu jQuery você transforma ele em um array separando os dados pelo "|", exemplo:

PHP

if($count > 0){
        $_SESSION[''uname''] = $uname;
        echo "$nome|$endereco|$numero";


No seu Js, você pode receber os dados da seguinte forma

success:function(data){
                if(data == 1){
                    var usuario = data.split("|");
                }


Dessa forma, usuario será um array com os dados que você enviou do PHP.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar