Pages: [1] 2   Go Down
Author Topic: dubbio su html  (Read 565 times)
0 Members and 1 Guest are viewing this topic.
napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusate ragazzi una domanda , se io tramite l'interfaccia ethernet di arduino  ho creato una pagina web  con username e password  , ora vorrei che  i dati imessi nelle text box vengano salvati dentro a dellke variabili di tipo string

ho provato un paio di metodi ma senza sucesso , sapreste suggerirmi qualche aiuto
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao

che metodo hai impostato nella form? GET o POST? Sulla stessa pagina HTML?
Logged

lucadentella.it

napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

questo e il codice che sto utilizzando



void loop(){
 
  lcd.begin(16, 2);
  lcd.print(user);
 
 
 
Client client = server.available();
if (client) {
  boolean currentLineIsBlank = true;
  while (client.connected()) {
    if (client.available()) {
      char c = client.read();
        readString.concat(c); //store characters to string
      //if HTTP request has ended
      if (c == '\n' && currentLineIsBlank) {
         Serial.print(readString);
         lcd.print(user);
         
        if(readString.indexOf("L=1") > 0) {
          digitalWrite(ledPin, HIGH);
          LEDON = true;
          }else{
          digitalWrite(ledPin, LOW);
          LEDON = false;
        }
       
       if(readString.indexOf("pul")){ 
          digitalWrite(ledPin, HIGH);
          LEDON = true;
          delay(500);
          digitalWrite(ledPin, LOW);
          LEDON = false;
         
       }
       
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println();
        //client.println("<meta http-equiv=""REFRESH"" content=""5; URL=http://xxxxxxxx"">");
        client.print("<html>");
        client.print("<head><title> MATRIX SYSTEM </title></head>");
        client.print("<body bgcolor=\"cyan\">");
        user = client.read();
       
        client.print("<fieldset bgcolor=\"grey\"><legend>LOG IN</legend>");
        client.print("<label for=\"username\">Username:</label><input name=\"username\" id=\"username\" value=\"Some Text\">");
        client.print("<label for=\"password\">Password:</label><input type=\"password\" name=\"password\" id=\"password\" value=\"Password\">");
        client.print("<input type=button value=invia></fieldset>");
         //     
   client.print("");
   client.print("");
        //
        client.print("<A HREF=\"http://grix.it/\"><IMG SRC=\"http://www.buttongenerator.com/ima/link.gif\" WIDTH=78 HEIGHT=31 BORDER=0 ALT=\"RELINQUISHED\"></A>");
        //
        client.print("<body style=background-color: red;>");
        client.print("<h2 style=background-color:#ff0000;>RELINQUISHED</h2>");
        client.print("<hlrows=\"5\" cols=\"30\">LED remoto</h1>");
        //
        client.println("<form method=get name=LED><input type=checkbox name=L value=1>LED<br><input type=submit value=submit></form>");
        client.println("<br />");
        client.println("<html><head><body style=background-color: #FFCC66;></body></head></html>");
        //printing LED status
        client.print("<span>LED status: </span>");
          if (LEDON) {
              client.println("<span style='color:green'>ON</span>");
            }
            else
            {
              client.println("<span style='color:grey'>OFF</span>");
          }
        client.print("<h2><a href='/?L=1'><font size=\"20\">accendi!</font></a> |");
        client.print("<a href='/?L=0'> <font size=\"20\">spegni!</font></a></h2>");
     
     
        //print link
        client.println("<hr />");
        client.print("<h2><a href='link'>Visita www.grix.it!</a></h2>");
        client.println("<hr />");
 
        // chiudo pagina da togliere se uso ajax
        client.println("</body></html>");
 
        //clearing string for next read
        readString="";
        //stopping client
        client.stop();
 
        } //if c == /n .... devo capire che significa
    } // if client available
  } // while client connesso
} // if client
} //loop
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

mmm mi sembra molto sballato... è un po' che non metto mano all'html direttamente ma sicuramente tutti i campi devono essere all'interno di un tag FORM altrimenti il browser non invierà il loro contenuto: il tuo esempio sembra tanto il copia&incolla di due pezzi: quello del led mi pare ok, nel primo così a occhio manca quaclosa
Logged

lucadentella.it

napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non sono molto esperto pero attualmente il codice funziona
e cmq ora quello che mi interessa e capire come risolvere  il problema delle text box , poi il resto vien man mano
Logged

ITALY
Offline Offline
Full Member
***
Karma: 1
Posts: 188
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
non sono un grande esperto di ETH shield e avevo chiesto anche io aiuto su un problema simile. Prova a vedere se ne cavi qualcosa:
http://arduino.cc/forum/index.php/topic,53045.msg378857.html#msg378857
Probabilmente Luca ha ragione.
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

non sono molto esperto pero attualmente il codice funziona

funziona nel senso che ti appare la pagina sul browser, ma se è sbagliata la form il browser non ti rimanderà mai indietro i dati...
Logged

lucadentella.it

napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

diciamo di si che e quello che voglio , il problema e che il codice non funziona
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok guardati questo tutorial, il tuo problema ora non è lato Arduino ma di codice HTML:
http://xhtml.html.it/guide/lezione/1696/struttura-del-tag-form/
Logged

lucadentella.it

napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma il problema e come faccio con un pulsante ad inviare un valore in una variabile ???
Logged

ITALY
Offline Offline
Full Member
***
Karma: 1
Posts: 188
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se vedi nel esempio che ti ho linkato ho messo:
Code:
       
 // Finestra di login
client.print("<form action='http://192.168.0.4/'>");
client.print("Nome");   
client.print("utente: <input name='Nome' value=''>");
client.print("Password: <input type='Password' name='Pwd' value=''>");
client.print("<input type='submit' value=' OK '>");
client.print("</form>");
Poi vado a leggere la stringa Nome=pippo&Pwd=pluto con questo codice:
Code:
if(readString.indexOf("Nome=pippo&Pwd=pluto") > 0) {
   login=true;
} else {
   login=false;
}
In sostanza faccio una comparazione.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Poi vado a leggere la stringa Nome=pippo&Pwd=pluto con questo codice:
Code:
if(readString.indexOf("Nome=pippo&Pwd=pluto") > 0) {
   login=true;
} else {
   login=false;
}
In sostanza faccio una comparazione.
Credo potresti sostituire tutto con un confronto/assegnazione:
Code:
login=readString.indexOf("Nome=pippo&Pwd=pluto");
Se è 0, la variabile sarà false, 1 o più di 1 darà su un boolean un risultato di true.
Logged


napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si ma cosi il valore delle text box non viene trasferito ad una variabile, inoltre io non voglio usare  il metodo get ma il metodo post
Logged

napoli
Offline Offline
Full Member
***
Karma: 0
Posts: 167
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ragazzi un altro problema se nel mio codice html  voglio inserire un immagine che e presente sulla mia sd card come faccio????
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

inoltre io non voglio usare  il metodo get ma il metodo post

come mai? processare i dati passati con il metodo GET è molto più semplice (vengono "accodati" all'URL che richiami nella forma miapagina.htm?parametro1=valore1;parametro2=valore2...)
Logged

lucadentella.it

Pages: [1] 2   Go Up
Jump to: