Autore Topic: Visualizzare variabile in PHP mandate da Android  (Letto 1330 volte)

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Visualizzare variabile in PHP mandate da Android
« il: 29 Luglio 2011, 12:07:44 CEST »
0
Ciao a tutti!
Ho un problema; ho una pagina Android con 2 editText in cui inserisco "nomeutente" e "e-mail", e un bottone "registrami"; quando clicco su registrami ,android deve mandarmi queste 2 variabili ad uno script PHP , che si chiama "provaServer.php", e successivamente stampare queste 2
variabili su PHP. Il codice non funziona,ma non so se l'errore sta da una parte,dall'altra,o da tutte e due.

CODICE ANDROID:



Codice (Java): [Seleziona]
String user = create_user.getText().toString();
String mail = insert_mail.getText().toString();
 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                                nameValuePairs.add(new BasicNameValuePair("nomeUtente",user));
                                 nameValuePairs.add(new BasicNameValuePair("indirizzoMail",mail));



  try{   
                        URL url = new URL("http://sight.dicom.uninsubria.it/~s.chiaravalli/provaI2visua.php");
                        URLConnection conn = url.openConnection();
                        conn.setDoOutput( true );
                       
                         HttpClient httpclient = new DefaultHttpClient();
                         HttpPost httppost = new HttpPost("http://sight.dicom.uninsubria.it/~s.chiaravalli/provaServer.php");
                         
                                 
                             httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                         
                         //mando la richirsta e ottengo la risposta in response
                         HttpResponse response = httpclient.execute(httppost);
 BufferedWriter wr=new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
                         wr.write(user);
                         wr.write(mail);
                         wr.flush();
                         wr.close();
}catch(UnknownHostException uHE){uHE.printStackTrace();
                 }catch(ClientProtocolException e) {e.printStackTrace(); }
                 }catch(IOException ioE) {ioE.printStackTrace();
                 }catch(Exception ee) {ee.printStackTrace();}

Ho cercato di instaurare una connessione tra android e PHP con BufferedWriter, è corretto?

CODICE PHP:


Codice: [Seleziona]
<?php
$u=json_decode($_POST['user']);
$m=json_decode($_POST['mail']);

echo $u;
echo $m;                                                           
?>


I 2 echo non funzionano.

e' la mia tesi di laurea e ho un po di problemi.
Grazie infinite a tutti quelli che vorranno rispondermi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!







« Ultima modifica: 29 Luglio 2011, 16:50:16 CEST da Ricky`, Reason: tasto code »
Simo :)

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #1 il: 29 Luglio 2011, 12:27:44 CEST »
+1
Codice: [Seleziona]
<?php
$u=json_decode($_POST['nomeUtente']);
$m=json_decode($_POST['indirizzoMail']);
echo $u;
echo $m;                                                           
?>

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #2 il: 29 Luglio 2011, 12:38:21 CEST »
0
Purtroppo non funziona lo stesso :(
Non sono sicuro che sia giusta l'istruzione del BufferedWriter;inoltre,con le 2 istruzioni

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
              
              
               HttpResponse response = httpclient.execute(httppost);

Non invio già 'user' e 'mail' ?  Se fosse cosi non servirebbe il Bufferedwriter......
Simo :)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #3 il: 29 Luglio 2011, 12:56:44 CEST »
+1
Ciao,
non ho capito perchè nel PHP usi il json_decode, da android non mi sembra tu stia inviando un oggetto JSON, mi sembra un normale POST.
Prova con:
Codice (Java): [Seleziona]
<?php
$u=$_POST['nomeUtente'];
$m=$_POST['indirizzoMail'];
echo $u;
echo $m;                                                          
?>
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #4 il: 29 Luglio 2011, 13:07:26 CEST »
+1
Il post dovrebbe essere fatto nel seguente modo:
Codice (Java): [Seleziona]
public void postData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("www.yoursite.com/script.php");

    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("nomeUtente", "user"));
        nameValuePairs.add(new BasicNameValuePair("indirizzoMail", "mail"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}
« Ultima modifica: 29 Luglio 2011, 13:13:00 CEST da denper »
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #5 il: 29 Luglio 2011, 13:16:02 CEST »
0
Dici che non serve usare un BufferedWriter per mandare 'user' e 'mail' ?
Simo :)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #6 il: 29 Luglio 2011, 13:19:21 CEST »
+1
No, lo fa già il comando:

Codice (Java): [Seleziona]
HttpResponse response = httpclient.execute(httppost);
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #7 il: 29 Luglio 2011, 15:53:57 CEST »
0
Funzionaaaaaaaaaaaa !! grazie mille a tutti!!! Avevo sbagliato a scrivere il codice PHP.  Grazie mille in pochissimo tempo mi avete risolto il problema grazie davvero a presto!!
Simo :)

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #8 il: 29 Luglio 2011, 16:51:46 CEST »
0
Un bel thank(non a me) :-P
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #9 il: 29 Luglio 2011, 17:30:59 CEST »
0
sarebbe??
Simo :)

Offline peppe88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #10 il: 11 Ottobre 2011, 17:56:31 CEST »
0
raga io ho più o meno lo stesso problema solo che devo mandare la risposta di autenticazione corretta o sbagliata su android...
in più non mi stampa niente sul php non riesco a capire come ha fatto il ragazzo prima di me a risolverlo perchè da me le variabili $u e $m sono vuote..
non sono sicuro di aver connesso bene android con la mia pagina php...

android
Codice (Java): [Seleziona]
import android.webkit.WebView;

public class Autenticazione extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.autemain);
       
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://37.mio_ip/WebApplication/com.registrazione/prova.php");
       
      try{
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("utente", "io"));
        nameValuePairs.add(new BasicNameValuePair("password", "io"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
       
       
     // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
       
//        HttpEntity entity = response.getEntity();
//        InputStream is = entity.getContent();
      }catch (ClientProtocolException e) {
          // TODO Auto-generated catch block
      } catch (IOException e) {
          // TODO Auto-generated catch block
      }

php
Codice (PHP): [Seleziona]
<?php
//Recupero il valore del parametro "username"
$nome_utente = $_POST['utente'];


//Recupero il valore del parametro "password"
$password = $_POST['password'];

//Ora stampo semplicemente a video il risultato
echo "Loggato " . $nome_utente . " con password " . $password;
?>

raga vi prego aiutatemi perchè il mio relatore è sparito e non so come fare, incredibilmente anche per me si tratta della tesi...
« Ultima modifica: 11 Ottobre 2011, 17:58:41 CEST da peppe88 »

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #11 il: 11 Ottobre 2011, 18:05:36 CEST »
0
Il problema sta qua:

 nameValuePairs.add(new BasicNameValuePair("utente", "io"));
  nameValuePairs.add(new BasicNameValuePair("password", "io"));

"utente" è il nome della variabile, e "io" è il valore quindi  non va scritto tra virgolette.
Simo :)

Offline peppe88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #12 il: 11 Ottobre 2011, 18:08:10 CEST »
0
ma io non ho creato una variabile per ora...
ho solo messo il valore e stop, mi pare debba funzionare lo stesso
è la stessa cosa che fare
String utente ="io";
nameValuePairs.add(new BasicNameValuePair("utente", utente));

Offline AriTiAdoro

  • Utente junior
  • **
  • Post: 98
  • Da soli non si va da nessuna parte!!
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #13 il: 11 Ottobre 2011, 18:12:48 CEST »
0
Si "utente" e "password" le ho chiamate variabili ma in realtà non sono variabili ma "chiavi" che identificano i rispettivi valori,ovvero,ad esempio:


String utente="Simone";
String password="xywz";

 nameValuePairs.add(new BasicNameValuePair("utente", utente));
 nameValuePairs.add(new BasicNameValuePair("password",password));

Però i valori utente e password non vanno tra virgolette.Prova a toglierle e dimmi se funziona,o comunqe se devi passare "io" come nome e password , mettili in due variabili cosi:


String utente="io";
String password="io";



Simo :)

Offline peppe88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Visualizzare variabile in PHP mandate da Android
« Risposta #14 il: 11 Ottobre 2011, 18:23:52 CEST »
0
ho fatto come dici tu cioè

String utente="io";
String password="io";


sulla pagina php mi esce questo

Notice: Undefined index: utente in C:\xampp\htdocs\WebApplication\com.registrazione\prova.php on line 3

Notice: Undefined index: password in C:\xampp\htdocs\WebApplication\com.registrazione\prova.php on line 7
Loggato con password

ti dico i passaggi che faccio...
apro l'emulatore l'app
clicco su login
mi si apre l'activity con la pagina che ho postato prima
poi apro sul mozilla la pagina http://localhost/WebApplication/com.registrazione/prova.php

dove sbaglio?