![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Forum De Bell Tolls (http://www.dsy.it/forum/forumdisplay.php?forumid=7)
-- [PHP] problema con le date (http://www.dsy.it/forum/showthread.php?threadid=14689)
[PHP] problema con le date
premesso che ho provato di tutto per fare un semplicissimo confronto di due date.. qualcuno mi spiega perchè mai non funziona il codice che ho scritto, ovvero l'if mi da sempre false....
voglio semplicemente controllare se l'evento a cui mi sto registrando è già passato o meno... qualcuno può helparmi
code:
\\riceve delle variabili via POST ............ $queryanno = "SELECT anno_incontro FROM lista_incontri WHERE id = $required_incontro"; $querymese = "SELECT mese_incontro FROM lista_incontri WHERE id = $required_incontro"; $querygiorno = "SELECT giorno_incontro FROM lista_incontri WHERE id= $required_incontro"; $anno_corrente = date("y"); $mese_corrente = date("m"); $giorno_corrente = date ("d"); settype($anno_corrente, "integer"); settype($mese_corrente, "integer"); settype($giorno_corrente, "integer"); $anno_incontro = mysql_query($queryanno) or die(mysql_error()); $mese_incontro = mysql_query($querymese) or die(mysql_error()); $giorno_incontro = mysql_query($querygiorno) or die(mysql_error()); if ($anno_corrente <= $anno_incontro) { if ($mese_corrente <= $mese_incontro) { if ($giorno_corrente < $giorno_incontro) { $query = "INSERT INTO accrediti (nome, cognome, email, telefono, attività, città, età, incontro) VALUES ('$required_nome', '$required_cognome', '$required_email', '$telefono', '$required_attivita', '$required_citta', '$required_eta', '$required_incontro')"; if (mysql_query($query, $db)) echo "La tua partecipazione è stata registrata correttamente, ti è stata inviata una conferma di registrazione nella tua casella email"; else echo "Erorre durante l'inserimento"; $from="******@*****.**"; $titolo="Conferma registrazione incontro"; $testo="Ciao $required_nome. Ti Confermiamo l'avvenuta iscrizione all'incontro da te selezionato, ti invieremo pochi giorni prima un promemoria con tutti i dettagli dell'incontro ."; mail($required_email, $titolo, $testo, "From: $from"); } }} else { echo "Non è possibile accreditarsi a questo incontro, in quanto scaduto"; }
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
Perché hai convertito a integer la data?
Nel DB le date sono inserite come integer?
Sicuro che le query per ottenere i dati della data dell'incontro vadano a buon fine?
Forse fai prima a convertire le date in timestamp unix e a confrontarli fra loro. Così avresti un solo if da gestire e non dovresti fare conversioni di tipo.
__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~
ho già provato con timestamp unix e mi da lo stesso problema, per questo mi sono ridotto ad una soluzione a tre colonne, ma nulla 
le ho convertite in integer pensando potesse esserci un problema di formato, ma non è neanche quello il problema...
le ho provate veramente tutte (quasi)...
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
quando non sai se i confronti vanno a buon fine metti un po' di echo sui risultati delle query e su quello che ti stampa la fnzione date...
in genere io i problemi li risolvevo all'80% in questo modo ![]()
code:
$querydata = "SELECT giorno_incontro,mese_incontro,anno_incontro FROM lista_incontri WHERE id = $required_incontro"; $row = mysql_fetch_array(mysql_query($querydata)); $dataincontro = mktime(0,0,0,$row[1],$row[0],$row[2]); $datadioggi = mktime(0,0,0,date("m"),date("d"),date("Y")); if ($dataincontro < $datadioggi) { $query = "INSERT INTO accrediti (nome, cognome, email, telefono, attività, città, età, incontro) VALUES ('$required_nome', '$required_cognome', '$required_email', '$telefono', '$required_attivita', '$required_citta', '$required_eta', '$required_incontro')"; if (mysql_query($query, $db)) echo "La tua partecipazione è stata registrata correttamente, ti è stata inviata una conferma di registrazione nella tua casella email"; else echo "Erorre durante l'inserimento"; $from="******@*****.**"; $titolo="Conferma registrazione incontro"; $testo="Ciao $required_nome. Ti Confermiamo l'avvenuta iscrizione all'incontro da te selezionato, ti invieremo pochi giorni prima un promemoria con tutti i dettagli dell'incontro ."; mail($required_email, $titolo, $testo, "From: $from"); } else { echo "Non è possibile accreditarsi a questo incontro, in quanto scaduto"; }
__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.
si avevo notato e corretto... ma nulla ancora...
cmq grazie a tutti.. l'unica cosa è da controllare come giustamente ha detto JAM ogni query cosa stampa....
spero che il mio problema non rientri nel 20 % ![]()
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
Scusa se magari ti mando fuori strada (di mysql ho letto qualche pag di un libro
) ma in accordo con qui
mysql_query() ritorna una risorsa.
quindi devi elaborare con mysql_fetch*(), come fa korn.
__________________
?
dici?...sto andando proprio a lavoro... provo e ti dico ![]()
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
ma sono così rincoglionito da non essermi accorto che quello di korn era diverso dal mio?...
pensavo fosse un quote... oh mamma ![]()
__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.
Albert Einstein
Originally posted by JaM
in genere io i problemi li risolvevo all'80% in questo modo![]()
__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour
"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)
| All times are GMT. The time now is 20:45. | Show all 10 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.