Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    21

    Problema check campi di un form

    Salve a tutti.
    Premessa, sono un principiante in php, sto sviluppando un applicazione php/mysql e parallelamente sto imparando.
    Il problema è questo: ho un form con dei campi da riempire, alcuni sono obbligatori, altri no, di altri devo controllare il formato, tipo le date.
    Ora, per il momento mi sono affidato solo a php nel check, quando premo il tasto submit ricaricando quindi la pagina php, controllo le date, se c'è qualche errore riempio una variabile messaggio e visualizzo un messaggio di errore con codice html.
    Immagino non sia il massimo fare così, tra l'altro perdo il contenuto dei campi e l'utente dovrebbe riscrivere tutto.
    Ho provato con una funzione javascript che visualizza un alert.
    Carino, più gestibile ma c'è un problema, dopo che ho visualizzato l'alert, dopo che lo faccio sparire col tasto ok, senza modificare il contenuto dei campi che è rimasto tale, se premo di nuovo il tasto di invio del form, l'alert che dovrebbe riapparire perchè non ho cambiato nulla, invece non riappare.
    Sicuramente sbaglio io ma non riesco a capire dove.
    Questo è l'aiuto che cortesemente vi chiedo.
    Inoltre accetto consigli per la migliore gestione del controllo dei campi di un form.
    Vi ringrazio anticipatamente.

    M.

  2. #2
    qui dovresti fare una delle tre cose seguenti:

    1) posta il javascript che non funziona correttamente
    2) impara jquery e usa il plugin di validazione
    3) impara html5 che è facilissimo da usare epr fare quelle cose

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    21
    Originariamente inviato da Emulman
    qui dovresti fare una delle tre cose seguenti:

    1) posta il javascript che non funziona correttamente
    2) impara jquery e usa il plugin di validazione
    3) impara html5 che è facilissimo da usare epr fare quelle cose
    Innanzitutto grazie per avermi risposto.
    Mi rendo conto che nel primo post non ho focalizzato bene il mio problema, cioè della validazione di un campo date.

    Allora, mi sono buttato su jquery, ci ho infilato un oggetto calendario, così invece di scrivere la data, la si sceglie e il formato è rispettato.
    Ora però, volendo, l'utente può sempre giocare con il campo e scrivere stupidaggini, quindi, cmq un controllo lo devo fare.
    Da quello che mi scrivi c'è un plugin di validazione per jquery, puoi indicarmi dove scaricarlo o studiarlo?
    Non sapevo che html5 gestisse queste cose, anche qui, hai qualche link da suggerirmi, così me lo studio?

    Grazie mille.

    M.

  4. #4
    per la validazione tramite plugin guarda qua http://bassistance.de/jquery-plugins...in-validation/ è il migliore! ti avverte subito prima di spedire il form...se vuoi invece provare html5 guarda qua http://diveintohtml5.info/forms.html fa parte de miglior sito che conosca su html5! (ricorda però che html5 funziona correttamente solo sulle ultime versioni dei browser (IE10+, chrome 20+, firefox 17+, safari 5.1, opera 11+), per gli altri meglio jquery

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    21
    Originariamente inviato da Emulman
    per la validazione tramite plugin guarda qua http://bassistance.de/jquery-plugins...in-validation/ è il migliore! ti avverte subito prima di spedire il form...se vuoi invece provare html5 guarda qua http://diveintohtml5.info/forms.html fa parte de miglior sito che conosca su html5! (ricorda però che html5 funziona correttamente solo sulle ultime versioni dei browser (IE10+, chrome 20+, firefox 17+, safari 5.1, opera 11+), per gli altri meglio jquery
    Scusa, mi rendo conto che nel primo post non ho focalizzato bene il mio problema, cioè della validazione di un campo date.
    Spero che i link che mi hai dato, mi siano utili.
    Grazie.

    M.

  6. #6
    beh il plugin che ti ho dato convalida un form in ogni modo, è sempre utilissimo per evitare errori di ogni sorta (tipo campi obbligatori mancanti o scrivi una email senza la chiocciolina)! per le date se usi un calendario sei già a posto: quando la memorizzi nel database devi solo fare attenzione che sia nella forma standard AAAA-MM-GG

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    21
    Originariamente inviato da Emulman
    beh il plugin che ti ho dato convalida un form in ogni modo, è sempre utilissimo per evitare errori di ogni sorta (tipo campi obbligatori mancanti o scrivi una email senza la chiocciolina)! per le date se usi un calendario sei già a posto: quando la memorizzi nel database devi solo fare attenzione che sia nella forma standard AAAA-MM-GG
    Già, è proprio quello il problema, perchè se il formato è errato, va in errore e non so come fare.
    Una funzione php che valida la data ce l'ho, ma a quel punto php ha già preso in mano la situazione, e quindi devo gestire un messaggio di errore, e ancora non so come fare.

    Tra l'altro, finito con le date devo affrontare il check di un campo dove devono scrivere un tempo preso con il cronometro, tipo 1'24"43 e questo tipo di validazione, ancora non l'ho trovata.

    M.

  8. #8
    Tanto per farti capire con un esempio...io sono un appassionato di motorsport in generale ed hos critto un sito con molti risultati di gare in cui dato lo spazio in metri e il tempo in secondi calcol la media oraria sia in gara che la miglior prestazione sul giro singolo. Se ad esempio so che che la gara dura un'ora e mezza su 300 km di distanza qual'è la media oraria? Prima trasformo l'ora e mezza in secondi. Se ad esempio il tempo di gara è stato 1h 31m 45.6s ho adottato un formato standard: 1:31:45.6 cioè separo con virgole ore, minuti e secondi. A quel punto faccio

    Codice PHP:
    $tempo "1:31:45.6";
    $array explode(':'$tempo);
    if (
    count($array) = 3) {
      
    // ci sono 3 elementi nell'array, ora, minuti, secondi
      
    $seconds = ($array[0] * 60) * 60// tarsformo ore in secondi
      
    $seconds $seconds + ($array[1] * 60); // trasformo minuti in secondi e li sommo ad ore
      
    $seconds $seconds $array[2]; // sommo i secondi totali ai secondi del tempo di gara
    }
    if (
    count($array) = 2) {
      
    // ci sono 2 elementi nell'array, minuti e secondi
      
    $seconds $array[0] * 60// trasformo minuti in secondi
      
    $seconds $seconds + ($array[2] * 60); // sommo i secondi
    }
    echo 
    "tempo totale ins econdi: " $seconds 
    capito?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    21
    Originariamente inviato da Emulman
    Tanto per farti capire con un esempio...io sono un appassionato di motorsport in generale ed hos critto un sito con molti risultati di gare in cui dato lo spazio in metri e il tempo in secondi calcol la media oraria sia in gara che la miglior prestazione sul giro singolo. Se ad esempio so che che la gara dura un'ora e mezza su 300 km di distanza qual'è la media oraria? Prima trasformo l'ora e mezza in secondi. Se ad esempio il tempo di gara è stato 1h 31m 45.6s ho adottato un formato standard: 1:31:45.6 cioè separo con virgole ore, minuti e secondi. A quel punto faccio

    Codice PHP:
    $tempo "1:31:45.6";
    $array explode(':'$tempo);
    if (
    count($array) = 3) {
      
    // ci sono 3 elementi nell'array, ora, minuti, secondi
      
    $seconds = ($array[0] * 60) * 60// tarsformo ore in secondi
      
    $seconds $seconds + ($array[1] * 60); // trasformo minuti in secondi e li sommo ad ore
      
    $seconds $seconds $array[2]; // sommo i secondi totali ai secondi del tempo di gara
    }
    if (
    count($array) = 2) {
      
    // ci sono 2 elementi nell'array, minuti e secondi
      
    $seconds $array[0] * 60// trasformo minuti in secondi
      
    $seconds $seconds + ($array[2] * 60); // sommo i secondi
    }
    echo 
    "tempo totale ins econdi: " $seconds 
    capito?
    L'esempio è chiaro ma tu la variabile l'hai formattata già (il mio punto cruciale) e poi trasformi tutto in secondi.
    A me non serve questo, io devo prendere un numero, 2345 per esempio e scrivere sul db 23"45 (ovviamente su un varchar) oppure 15487 e scrivere 1'54"87, per poi visualizzarlo correttamente.
    Quindi il tuo esempio, per me, non calza, o sbaglio?

  10. #10
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    Ricorda che HTML5 non è supportato da tutti i browser (IE9 per esempio).

    Ricorda che i controlli devi farli sia in javascript (jquery) sia in php, perché se disabilito i javascript nel mio browser scavalco qualsiasi controllo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.