Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Controllo data immesse

  1. #1

    Controllo data immesse

    Ciao ragazzi!
    Vi spiego subito il mio problema:

    ho questi input:

    Codice PHP:
    <input type="text" name="pre_dalgiorno" value="1" size="1"></div>
                                                    </
    td>
                                                    <
    td class="dentrsmall" bgcolor="#eae2ca"><select name="pre_dalmese" size="1">
                                                            <
    option  value="01">Gennaio</option>
                                                            <
    option  value="02">Febbraio</option>
                                                            <
    option  value="03">Marzo</option>
                                                            <
    option  value="04">Aprile</option>
                                                            <
    option  value="05">Maggio</option>
                                                            <
    option  value="06">Giugno</option>
                                                            <
    option  value="07">Luglio</option>
                                                            <
    option  value="08">Agosto</option>
                                                            <
    option  value="09">Settembre</option>
                                                            <
    option  value="10">Ottobre</option>
                                                            <
    option  value="11">Novembre</option>
                                                            <
    option  value="12">Dicembre</option>
                                                        </
    select></td>
                                                    <
    td class="dentrsmall" bgcolor="#eae2ca"><select name="pre_dallanno" size="1">
                                                            <
    option  value="2006">2006</option>
                                                            <
    option  value="2007">2007</option>
                                                            <
    option  value="2008">2008</option>
                                                        </
    select></td


    Vorrei fare un controllo che verifica che la data inserita in "pre_dalgiorno" "pre_dallanno" e "pre_dalmese" non precedano la data attuale.



    questo è il javascript:

    Codice PHP:
    <script type="text/javascript">
    function veridata(){
    data=new Date();
    datax= data.getTime()/1000;
    datax=<?php print $dataora?>;

    dataarrivo= new Date(document.prenota.pre_dallanno.options[document.prenota.pre_dallanno.selectedIndex].value,document.prenota.pre_dalmese.options[document.prenota.pre_dalmese.selectedIndex].value,document.prenota.pre_dalgiorno.value);
    dataarrivox= dataarrivo.getTime()/1000;
    datapartenza= new Date(document.prenota.pre_allanno.options[document.prenota.pre_allanno.selectedIndex].value,document.prenota.pre_almese.options[document.prenota.pre_almese.selectedIndex].value,document.prenota.pre_algiorno.value);
    datapartenzax= datapartenza.getTime()/1000;

    alert(datax);
    alert(dataarrivox);

    if((datapartenzax <= dataarrivox) || (dataarrivox <= datax)){

    alert("Errore nella immissione delle date Verificare che la data di partenza non preceda quella di arrivo o che il periodo di permanenza non preceda la data attuale.");
    return false;

    }
    else {          

    document.prenota.action="prenota.php";
    document.prenota.submit(); 

    }




    }

    </script>
    ho provato sia con date() in javascript sia dandogli un UNIXtimestamp da PHP ma i risultati sono uguali. Ovvero nel controllo(if((datapartenzax <= dataarrivox) || (dataarrivox <= datax))) Verifico che la data di partenza non preceda quella di arrivo e subito dopo vorrei controllare che la data di arrivo non preceda la data attuale. Ma nonostante credo di non aver fatto errori il sistema non funziona, restituendo quell'alert solo se la data di partenza precede quella di arrivo e non se quella di arrivo precede quella attuale. Ma quello che succede è ben più strano... Se metto come mese "Ottobre 2006" e qualunque giorno mi restituisce l'errore, nelc aso in cui il mese sia Novembre (il mese corrente) non mi da errore neanche se metto il 12(la data di ieri). Ho usato quegli alert per prendere nota dei timestamp.

    Bene il timestamp di ieri per java o php era 1.163.364.587 e quello invece calcolato con date(aa,mm,gg) era 1.165.878.000 ... quindi non è sbagliato che mi dice che la data è maggiore.... azz sto impazzendo... help!

  2. #2
    Attento al mese!
    se fai:
    oggettoData = new Date(anno, mese, giorno);
    la variabile mese può assumere i valori da 0 (gennaio) a 11 (dicembre)
    quindi dal tuo vero valore del mese devi togliere 1

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Graaazie! Era proprio quello il problema sei mitico... per i giorni del mese tutto giusto vero?

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.