Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 23-03-2009, 13.51.20   #1
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
[PHP] Catturare messaggi mysql

Ho un form sul quale si può inserire una data tramite 3 menu <select> (giorno, mese, anno), dovrei fare controlli in javascript per vedere se la data immessa è coerente o no, ad esempio che non si inserisca 30 Febbraio (semplice), o che si inserisca 29 Febbraio per un anno non bisestile (più rognoso).

Dal momento che mysql lo fa di suo questo controllo all'inserimento, pensavo di catturare il messaggio d'errore ritornato, far leggere questo a PHP e vedere da qui se il problema è stata la data.
Non so però come leggere i messaggi d'errore generati da mysql, c'è una funzione che può aiutarmi?
Alhazred non è collegato   Rispondi citando
Vecchio 23-03-2009, 14.51.22   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Se l'anno modulo 4 da come risultato 0, vuol dire che l'anno è bisesto (anno funesto). Infatti, vi è un anno bisetile ogni 4.
Prova. il 1972 era bisestile, così come il 1976, il 2000, ecc
LoryOne non è collegato   Rispondi citando
Vecchio 23-03-2009, 15.21.19   #3
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Ho risolto con la funzione mysql_error() e poi una ricerca all'interno della stringa ottenuta per vedere se c'è contenuta la frase "Incorrect date value".
Funziona
Alhazred non è collegato   Rispondi citando
Vecchio 23-03-2009, 15.21.58   #4
Gergio
Gold Member
 
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
Gergio promette bene
In realta' c'e' un'eccezione per gli anni "secolari" (quelli che finiscono con 00):
Quota:
Inviato da wikipedia
Un anno è bisestile se il suo numero è divisibile per 4, con l'eccezione che gli anni secolari (quelli divisibili per 100) sono bisestili solo se divisibili per 400
=> o verifichi anche questa condizione, oppure puoi crearti una funzione che ti restituisca, dato l'anno, il numero di giorni di febbraio: se sono 29, l'anno e' bisestile
Codice:
$giorni=cal_days_in_month(CAL_GREGORIAN,2,$anno);
___________________________________

Gergio non è collegato   Rispondi citando
Vecchio 23-03-2009, 20.18.10   #5
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
A fare tutti i controlli sulla data ci pensa mysql quando faccio l'insert o l'update sulla tabella, per verificare che in caso di errore la causa sia stata o no la data mi basta leggere il messaggio d'errore che genera mysql, se può interessare controllo così:
Codice:
if(!mysql_query($query,$db)) { //non è avvenuto l'inserimento
	$data_errata = "Incorrect date value"; //è parte del messaggio che genera mysql in caso di data errata

	//controllo se il messsaggio di errore di mysql contiene la stringa $data_errata
	if (strlen(stristr(mysql_error($db),$data_errata))>0) {
		print "La data inserita non e' corretta";
	}
}
Alhazred non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Hacker attacca sito antipedofilia Sbavi Archivio News Web 34 15-02-2008 01.08.23
[Mysql] Php non vede Mysql [OK] espiritos Programmazione 17 01-12-2005 21.59.52
MySQL Admin. 1.1.3 Thor Archivio News Software 0 27-09-2005 16.42.28
MySql turf Windows 9x/Me/NT4/2000 5 30-06-2004 09.56.42

Orario GMT +2. Ora sono le: 21.39.29.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.