Autore Topic: login: comunicazione con mySQL  (Letto 466 volte)

Offline gig

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
login: comunicazione con mySQL
« il: 29 Giugno 2014, 16:57:25 CEST »
0
salve,
devo affrontare il problema del login; ho fatto riferimento al codice illustrato in questa pagina
Michele's Blog - Login su un db MySQL tramite Android
ora, io non so nulla di programmazione, ma devo affrontare il progetto di un app per un esame;
come suggerito dal sito tramite xampp ho creato il mio database, e nel db una tabella con gli stessi campi della tabella users illustrata nell'esempio.
solo che ovviamente cambierà l'url
cioè al posto di 

        protected String[] doInBackground(String... params) {
        String url = "http://michelecorazza.name/testandroidlogin/login.php";

... io cosa devo mettere????
poi...nel file db.php contente i parametri della connessione cosa devo inserire?


<?php
// parametri del database

$db_host = ????????

grazie in anticipo per l'aiuto!
« Ultima modifica: 29 Giugno 2014, 17:11:55 CEST da gig »

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:login: comunicazione con mySQL
« Risposta #1 il: 29 Giugno 2014, 17:33:04 CEST »
0
guarda se è pre un progettino di scuola di aiuto io.
Su mysql io ho una tabella di nome AMMINISTRAZIONE. I campi sono 2 ovvero user e password.
Ne memorizzo 3 del tipo user001 e password 1234, user002 e password 5678

A livello software farei:

scairci la libreria jbcd da internet, si chiama jbcd connector qualcosa.jar.
la aggiungi al progetto.
Codice (Java): [Seleziona]
public class MyTask extends AsyncTask<Void,Void,String> {
               
                private ProgressDialog progress;
                private Context context;
                public MyTask(Context context) {
                        this.context=context;
                }
               
                public void onPreExecute() {
                         super.onPreExecute();
                        progress = new ProgressDialog(nomeactivity.this);
                        progress.setMessage("Loading...");
                        progress.show();
                }
        @Override
        protected String doInBackground(Void... params) {
               
           String retval ="";
         
           
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                retval = e.toString();
            }
       
            String url = "jdbc:mysql://sql2.freemysqlhosting.net:3306/nome_db";
            String username = "user";
            String password = "password";
            Connection conn;
     
            try {
                DriverManager.setLoginTimeout(5);
                conn = DriverManager.getConnection(url,username,password);
                Statement st = conn.createStatement();
                String sql;
               
                sql = select count(*) from AMMINISTRAZIONE A where A.user = "user0001" and A.pass = "1234"

                ResultSet rs = st.executeQuery(sql);
               
               
                // ora rs è un cursore....conterra solo una riga che può essere 0 o 1. ovvero 0 se non esistono i nome utente e passowrd
               // inseriti....altrimenti 1 se esiste un record che soddisfa quelle condizioni
                rs.close();
                st.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
                retval = e.toString();
            }
                        return retval;                    
           
        }
       
        @Override
        protected void onPostExecute(String str) {
             progress.dismiss();
   
        }
               
        }// CLOSE asyn

LA SOLUZIONE proposta fa abbastanza pena, però è semplice e veloce, e non richiede l'utilizzo di php.
probabilmente come progetto per la scuola va benone

Offline gig

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
Re:login: comunicazione con mySQL
« Risposta #2 il: 29 Giugno 2014, 17:41:09 CEST »
0
grazie  per lìaiuto, ma in realtà il progetto è abbastanza complesso: si tratta della gestione di un multisala, quindi con il database ci dovrò comunicare non solo per gestire il login, ma, una volta effettuato il login, anche per visualizzare i film, i posti disponibili in sala, ecc...
quindi mi servirebbe capire cosa scrivere come url e host, perchè poi saranno problemi che si riproporranno!

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:login: comunicazione con mySQL
« Risposta #3 il: 29 Giugno 2014, 17:51:41 CEST »
0
Io avevo un progetto per la gestione di un albergo. magari se mi dici chi + il tuo professore c'è caso che facciamo la stessa facoltà.

La pagina in php se noti fa la stessa cosa della query che ti ho inviato io.
Però se non sai niente di programmazione, allora forse non sai niente nemmeno di php. jbcd era una libreria solo per facilitarti le cose.

in Ogni caso:

nel suo file php in alto ha un include "db.php;

in quel file db.php potrebbe esserci una cosa del genere:

<?php

    $host = "localhost";
    $username = "nome_utente_altervista";
    $password = "password_altervista";
    $db_name = "db_altervista";

?>

host rimane uguale sia che tu usi un server on line sia che tu hai xampp su pc.
ricorda che se metti il db su locale allora devi conneterti al pc con android tramite hotspot (il pc deve fare hotspot)
gli altri dati li sai solo te

Offline gig

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
Re:login: comunicazione con mySQL
« Risposta #4 il: 29 Giugno 2014, 17:58:20 CEST »
0
eppure scrivendo localhost, e riempendo gli altri campi con i miei dati continua a non funzionare...

scusami...in effetti sono davvero ignorante, non ho mai lavorato con queste cose!...non conosco nulla, librerie, php, niente! :-(
« Ultima modifica: 31 Ottobre 2014, 08:58:28 CET da gig »

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:login: comunicazione con mySQL
« Risposta #5 il: 29 Giugno 2014, 18:18:04 CEST »
0
Ti consiglio di creare l'hot spot con w8. Quanto dai cell riesci ad accedere al DB scrivendo l'IP del tuo PC.....allora li cominci a programmare per android.