Como receber informações do php via ajax

jQuery

Cordova

JavaScript

PHP

Ajax

21/04/2020

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

Curtidas 0

Respostas

Ayrton Pereira

Ayrton Pereira

21/04/2020

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?
GOSTEI 0
André Luis

André Luis

21/04/2020

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...
GOSTEI 0
Ayrton Pereira

Ayrton Pereira

21/04/2020

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?
GOSTEI 0
André Luis

André Luis

21/04/2020

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
GOSTEI 0
André Luis

André Luis

21/04/2020

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
GOSTEI 0
Ayrton Pereira

Ayrton Pereira

21/04/2020

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.
GOSTEI 0
POSTAR