Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Data da un form

  1. #1

    Data da un form

    Come posso fare per verificare che un testo inserito in un form sia davvero una data nel formato gg/mm/aaaa oppure gg-mm-aaaa, per evitare di avere l'errore direttamente dal database al momento dell'inserimento?
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  2. #2
    Se la data viene da una textarea usa le espressioni regolari per riconoscere il pattern (vedi funzioni preg_match & company.. trovi anche una pillola all'interno di questo forum)

    Personalmente ti consiglio invece di confezionarle tu le date una volta ottenute dal form tramite menu a tendina per giorno, mese e anno.

    Aloha
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  3. #3
    Non posso usare le tendine per confezionare le date per 'imposizione' del mio relatore, quindi l'unico modo sembra essere quello delle espressioni regolari, solo che...non sono molto ferrato su questo argomento
    Di preciso cosa dovrei fare del mio valore $_POST['data']?
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Dai un'occhiata QUI

    e poi eventualmente posta delle domande mirate su eventuali problemi di implementazione....

    Buon Lavoro
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  5. #5

    Ci provo...

    codice:
    $myCorrectString="12-04-2005";
    $myWrongString="12-04-05";
    
    if(preg_match("/[0-9]{1,2}[-/]{1,1}[0-9]{1,2}[-/]{1,1}[0-9]{4,4}/",$myCorrectString))
      echo "OK";
    else
      echo "ERRORE";
    //OK
    
    if(preg_match("/[0-9]{1,2}[-/]{1,1}[0-9]{1,2}[-/]{1,1}[0-9]{4,4}/",$myWrongString))
      echo "OK";
    else
      echo "ERRORE";
    //ERRORE
    Ho capito bene?
    La mia preg riconosce se ho una stringa composta nel seguente modo:
    (una o due cifre numeriche) poi (- o /) poi (una o due cifre numeriche) poi (- o /) poi (quattro cifre numeriche)
    Giusto???
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  6. #6
    Metti un backslash davanti ai separatori della data / ('/' e' un carattere speciale nelle regexp!)

    Ovvero:

    codice:
    "/[0-9]{1,2}[-\/]{1,1}[0-9]{1,2}[-\/]{1,1}[0-9]{4,4}/"
    la tua esapressione regolare cosi' dovrebbe andare....

    complimenti... hai imparato molto rapidamente!
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  7. #7

    Adesso provo, grazie grazie!
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  8. #8
    scusat ho sbagliato
    www.bitmade.com Momentan ist richtig_Momentan ist gut_Nicht ist wirklich wichtig_Nach der Ebbe kommt die Flut_ _Am Strand des Lebens_ohne Grund,ohne Verstand_ist nichts vergebens_ich baue di traeume auf den Sand.

  9. #9
    Ma io ho una stringa intera, dovrei stare a spezzarla in mese giorno e anno, e quindi a tokenizeizzarla o col - o con / come separatore, quindi l'espressione regolare mi conviene...anche se adesso che penso non verifico se il giorno e il mese stanno in un range adatto... :master:
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  10. #10
    Ma in fondo non posso tutelarmi dalla stupidita' dell'utente!! Quindi... chi se ne frega!
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.