Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Funzione per recuperare la data dal form

    Buona sera a tutti.
    Nel form che utlizzo come anagrafica, vedi esempio:
    codice:
    <form action = "controllo.php" method ="post">
        <fieldset>
            <legend><font color ="blue"> Dati anagrafici </font></legend>
    
            <label>Nome <input type ="text" name ="nome"></label>
            <label>Cognome <input type ="text" name ="cognome"></label>
    
    
    
            <label>Data di nascita <input type ="text" name ="datan"></label>
    Ho bisogno di recuperare il valore delle data e formattarla nel formato italiano classico, praticamente giorni,mesi,anni.
    Quale funzione e quale impostazione devo usare?
    Grazie di un consiglio e meglio ancora se con un piccolo esempio script.

  2. #2
    tutto dipende da cosa si ci scrive nel campo

    piuttosto che "convertire" il valore in un dato formato forza l'utente a inserire il valore nel formato che serve a te

    qui un semplice controllo per far inserire la data nel formato dd/mm/yyyy

    codice:
    if (!preg_match('/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/', $_POST['daten'], $match))
    {
        echo "Data non valida!";
        die();
    }
    
    // Controllare se il giorno, il mese e l'anno inserito sono validi utilizzando la funzione date per
    // leggere ad esempio i giorni presenti nel mese inserito o ancora degli if per verificare che il
    // mese sia compreso tra 1 e 12 e che la data non sia surreale ad esempio che sia compresa
    // tra 01/01/1900 e (dato che ti serve per una anagrafica) quella odierna
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie della risposta daniele_dll, ora il controllo forza ad inserire la data correttamente.
    Però ora ho notato che se imposto il formato data dd/mm/yyyy ma con numeri casuali, accetta lo stesso come dato.
    Per caso c'è una soluzione migliore a questo controllo? Se puoi mi puoi dare quale link utile?
    Grazie ancora.

  4. #4
    mi sono dimenticato di dirti che la data sta "scomposta" dentro la variabile $match, cosa hai usato per gli ulteriori controlli, se li hai fatto ovviamente
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    L'ho risolta in questa maniera
    codice:
    if (!preg_match('/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/', $datan))
    	{
        echo "Data non valida!";
        die();
    	}
    e nel file controllo.php
    codice:
    @include("funzioni.php");// Come se inserisse tutto il codice  del file funzioni.php  in questa riga 
      //Dopo il controllo effetuato nel file funzioni.php tutti gli array vengono popolati dai dati
      // Se non tutti i campi vengono popolati dai dati il file funzioni.php si interrompe nei punti dove mancano il popolamento
      //e stampa a video i dati mancanti
      $nome = $_REQUEST["nome"];
      $cognome = $_POST["cognome"];
      $datan = $_POST['datan'];
      $citta = $_POST['citta'];
      $prov = $_POST['prov'];
      $cf = $_POST['cf'];

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.