/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Validere dato indtastning - Hvordan?
Fra : Ukendt


Dato : 08-02-03 19:22

Jeg er ved et fedte et site sammen med PHP og et sted på dette site skal
brugere indtaste en dato.

Denne indtastning skal gemmes i en mySQL database i et DATE felt.

For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
indtastede har jeg brug for en grundig validering af det indtastede.

Det handler altså om:
-hvorvidt syntaksen i det indtastede er korrekt!
-om datoen er valid!
-evt. også om at ændre en indtastet syntaks til én der kan puttes i DATE
feltet!

Er der nogen herinde som har rodet med noget tilsvarende og derfor har råd
og tips, måske endda kodeeksempler at dele?

Claus



 
 
Larz (08-02-2003)
Kommentar
Fra : Larz


Dato : 08-02-03 22:09

"Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
news:3e454aa0$0$135$edfadb0f@dtext02.news.tele.dk:
> For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
> indtastede har jeg brug for en grundig validering af det indtastede.
>
> Det handler altså om:
> -hvorvidt syntaksen i det indtastede er korrekt!
> -om datoen er valid!
> -evt. også om at ændre en indtastet syntaks til én der kan puttes i
> DATE feltet!
>
> Er der nogen herinde som har rodet med noget tilsvarende og derfor har
> råd og tips, måske endda kodeeksempler at dele?

For at undgå problemer er det letteste at lave din datoindtastning som
dropdown felter!

Evt også check <http://dk.php.net/datetime>

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
To mail me remove your pants.

Martin Møller Bæk (08-02-2003)
Kommentar
Fra : Martin Møller Bæk


Dato : 08-02-03 22:15

Larz wrote:
> "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
> news:3e454aa0$0$135$edfadb0f@dtext02.news.tele.dk:
>
>>For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
>>indtastede har jeg brug for en grundig validering af det indtastede.
>>
>>Det handler altså om:
>>-hvorvidt syntaksen i det indtastede er korrekt!
>>-om datoen er valid!

Brug checkdate()
<http://dk.php.net/manual/en/function.checkdate.php>

Mvh
Martin MB


Ukendt (09-02-2003)
Kommentar
Fra : Ukendt


Dato : 09-02-03 11:24

"Martin Møller Bæk" <martin@nospam.aflame.dk> skrev i en meddelelse
news:3E457341.6090700@nospam.aflame.dk...
> Larz wrote:
> > "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
> > news:3e454aa0$0$135$edfadb0f@dtext02.news.tele.dk:
> >
> >>For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
> >>indtastede har jeg brug for en grundig validering af det indtastede.
> >>
> >>Det handler altså om:
> >>-hvorvidt syntaksen i det indtastede er korrekt!
> >>-om datoen er valid!
>
> Brug checkdate()
> <http://dk.php.net/manual/en/function.checkdate.php>

Glimrende forslag Martin!

Jeg har nu besluttet at brugerne skal indtaste DD-MM-ÅÅÅÅ i et tekstfelt. Og
for at synliggøre det ønskede indtastningsformat skriver jeg default
DD-MM-ÅÅÅÅ i feltet.

Strengen fra tekstfeltet deler jeg så vha. explode() ved karakteren "-".

Resten burde være nemt.
-Er der tre elementerer
-Er de numeriske med is_numeric()
-Og udgør de tilsammen en valid dato med checkdate()

Tak for hjælpen

Claus



Ukendt (09-02-2003)
Kommentar
Fra : Ukendt


Dato : 09-02-03 12:15

"Claus Nygaard-Pedersen" <cnpatofir.dk> skrev i en meddelelse
news:3e462c28$0$142$edfadb0f@dtext02.news.tele.dk...
>
> Resten burde være nemt.
> -Er der tre elementerer
> -Er de numeriske med is_numeric()
> -Og udgør de tilsammen en valid dato med checkdate()

Er det overhovedet nødvendigt at checke hvorvidt input til checkdate() er
numerisk?

Claus



Jens Tønnesen (09-02-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 09-02-03 12:33

"Claus Nygaard-Pedersen" <cnpatofir.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>Er det overhovedet nødvendigt at checke hvorvidt input til checkdate() er
>numerisk?

Kig i eksemplet nederst på siden:
<http://dk.php.net/manual/en/function.checkdate.php>


Ukendt (09-02-2003)
Kommentar
Fra : Ukendt


Dato : 09-02-03 13:11

"Jens Tønnesen" <01-2003nospam@pressefoto.dk> skrev i en meddelelse
news:h2fc4v45skj8pkj87ahf1phocnria0492u@4ax.com...
> "Claus Nygaard-Pedersen" <cnpatofir.dk> skrev i
> dk.edb.internet.webdesign.serverside.php:
>
> >Er det overhovedet nødvendigt at checke hvorvidt input til checkdate() er
> >numerisk?
>
> Kig i eksemplet nederst på siden:
> <http://dk.php.net/manual/en/function.checkdate.php>

Takker!

Den havde jeg overset ;)

Claus



Jesper Brunholm (09-02-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 09-02-03 12:41

Claus Nygaard-Pedersen wrote:
> "Martin Møller Bæk" <martin@nospam.aflame.dk> skrev i en meddelelse
> news:3E457341.6090700@nospam.aflame.dk...
>
>>Larz wrote:
>>
>>>"Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
>>>news:3e454aa0$0$135$edfadb0f@dtext02.news.tele.dk:
>>>
>>>
>>>>For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
>>>>indtastede har jeg brug for en grundig validering af det indtastede.
>>>>
>>>>Det handler altså om:
>>>>-hvorvidt syntaksen i det indtastede er korrekt!
>>>>-om datoen er valid!
>>
>>Brug checkdate()
>><http://dk.php.net/manual/en/function.checkdate.php>
>
>
> Glimrende forslag Martin!
>
> Jeg har nu besluttet at brugerne skal indtaste DD-MM-ÅÅÅÅ i et tekstfelt. Og
> for at synliggøre det ønskede indtastningsformat skriver jeg default
> DD-MM-ÅÅÅÅ i feltet.

Du kan jo gøre det smart ved med javascript at sørge for at din
vejledningstekst (dd-mm-åååå) forsvinder automatisk når brugeren klikker
på feltet.

> Strengen fra tekstfeltet deler jeg så vha. explode() ved karakteren "-".

Jeg kan ikke huske om det går med '-'er i, men jeg har god succes med at
lade brugerne indtaste dd.mm.åå i en formular (hvor jeg har skrevet
format-eksemplet ved siden af boksen så det også er synligt mens man
taster) det sender jeg til en mysql-'date'-kolonne, og jeg har ingen
problemer til trods for sekretærer på humaniora

> -Og udgør de tilsammen en valid dato med checkdate()

Den ville jeg nok nøjes med - hvis det vel at mærke foregår "bag login".

mvh

Jesper Brunholm


Ukendt (09-02-2003)
Kommentar
Fra : Ukendt


Dato : 09-02-03 11:20

"Larz" <lp@your-pants-coder.dk> skrev i en meddelelse
news:Xns931CE1478F7FCgodlarz@62.243.74.162...
> "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote in
> news:3e454aa0$0$135$edfadb0f@dtext02.news.tele.dk:
> > For at undgå at mySQL returnerer en fejl når jeg forsøger at gemme det
> > indtastede har jeg brug for en grundig validering af det indtastede.
> >
> > Det handler altså om:
> > -hvorvidt syntaksen i det indtastede er korrekt!
> > -om datoen er valid!
> > -evt. også om at ændre en indtastet syntaks til én der kan puttes i
> > DATE feltet!
> >
> > Er der nogen herinde som har rodet med noget tilsvarende og derfor har
> > råd og tips, måske endda kodeeksempler at dele?
>
> For at undgå problemer er det letteste at lave din datoindtastning som
> dropdown felter!

Ja for mig som skal lave sitet, men for brugerne er det noget skidt. Det er
simpelthen for besværligt (læs tager for lang tid) at anvende.

Claus



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste