.dsy:it.
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)


Posted by Dodo on 02-11-2004 16:07:

Question [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


Posted by DeepBlue on 02-11-2004 16:27:

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! ~


Posted by Dodo on 02-11-2004 16:32:

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


Posted by JaM on 02-11-2004 16:39:

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 ;)


Posted by korn on 02-11-2004 16:59:

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"; }


Attento, date("y") è diverso da date("Y"), forse è stato quello.

__________________
» 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.


Posted by Dodo on 02-11-2004 17:43:

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 % :D

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by yeah on 03-11-2004 23:39:

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.

__________________
?


Posted by Dodo on 04-11-2004 07:32:

dici?...sto andando proprio a lavoro... provo e ti dico :D

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by Dodo on 04-11-2004 07:41:

ma sono così rincoglionito da non essermi accorto che quello di korn era diverso dal mio?...

pensavo fosse un quote... oh mamma :oops:

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by fabpicca on 04-11-2004 08:06:

Originally posted by JaM


in genere io i problemi li risolvevo all'80% in questo modo ;)


il restante 20% lo risolvevamo invece a bestemmie

__________________
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.