1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Login Android com PHP

Galera não to conseguindo fazer a comunicação e obter a resposta do meu arquivo PHP, deem uma olhada e vejam oq eu fiz de errado. Espero que possam me ajudar. Obrigado.

package com.example.login2;



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Scanner;

import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@SuppressLint("NewApi")
public class MainActivity extends ActionBarActivity {

    EditText editSenha, editEmail;
    Button btnEntrar;

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editSenha = (EditText)findViewById(R.id.editSenha);
        editEmail = (EditText)findViewById(R.id.editEmail);
        btnEntrar = (Button)findViewById(R.id.btnEntrar);

        btnEntrar.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                String mUsername = editEmail.getText().toString();
                String mPassword = editSenha.getText().toString();

                tryLogin(mUsername, mPassword);

            }
        });
    }
            private void tryLogin(String mUsername, String mPassword) {
                 HttpURLConnection connection;
                   OutputStreamWriter request = null;

                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                    StrictMode.setThreadPolicy(policy);

                        URL url = null;   
                        String response = null;         
                        String parameters = "email="+mUsername+"&senha="+mPassword;   

                        try
                        {
                            url = new URL("http://192.168.25.5/arts/admin/loginUsuarioAndroid.php");
                            connection = (HttpURLConnection) url.openConnection();
                            connection.setDoOutput(true);
                            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                            connection.setRequestMethod("POST");    

                            request = new OutputStreamWriter(connection.getOutputStream());
                            request.write(parameters);
                            request.flush();
                            request.close();            
                            String line = "";               
                            InputStreamReader isr = new InputStreamReader(connection.getInputStream());
                            BufferedReader reader = new BufferedReader(isr);
                            StringBuilder sb = new StringBuilder();
                            while ((line = reader.readLine()) != null)
                            {
                                sb.append(line + "\n");
                            }
                            // Response from server after login process will be stored in response variable.                
                            response = sb.toString();
                            // You can perform UI operations here
                            if (response.equals("1"))
                                mensagemExibir("Login", "Usuario Valido");
                            else{
                                mensagemExibir("Login", "Usuario Invalido");
                            }         
                            isr.close();
                            reader.close();

                        }
                        catch(IOException e)
                        {
                            // Error
                        }
                }
            public void mensagemExibir(String titulo, String texto){
                  AlertDialog.Builder mensagem = new AlertDialog.Builder(MainActivity.this);
                  mensagem.setTitle(titulo);
                  mensagem.setMessage(texto);
                  mensagem.setNeutralButton("OK", null);
                  mensagem.show();


                 }
            @Override
            protected void onPause() {

                // hide the keyboard in order to avoid getTextBeforeCursor on inactive InputConnection
                InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

                inputMethodManager.hideSoftInputFromWindow(editEmail.getWindowToken(), 0);
                inputMethodManager.hideSoftInputFromWindow(editSenha.getWindowToken(), 0);

                super.onPause();
            }

            }
Arquivo PHP
<?
    include("conexao.php");
    $email = $_POST['email'];
    $senha = $_POST['senha'];
    $query = mysql_query("SELECT * FROM usuario WHERE email='$email' AND senha='$senha'");
    $resultado = $query or die ("Erro: " .mysql_error());
    if(mysql_num_rows($resultado) > 0){
        echo '1';
    }else{
        echo 0;
    }

?>
  • Que resultado retorna? Ou sempre dá erro e não retorna nada? Se você faz a query "na mão" (ou seja, testa somente a parte php), funciona?. Dica: use PDO com querys parametrizadas ao invés de métodos como mysql_query().

    TerraSkilll   24 de abr de 2015
  • Não retorna nada, a parte php esta funcionando sim, mas nao ta retornando nada.

    Fernando Castilho Marmol   24 de abr de 2015
  • Amigo, você está tratando no php com $POST e mandando por $GET pelo android.

    Douglas   24 de abr de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android login connection post ou faça a sua própria pergunta.