Fødselsdato system

Tags:    php mysqli

<< < 12 > >>
Hej

jeg vil høre hvad der er den bedste måde at angive ens Fødselsdato på?,

Jeg har kigget på jquery, men det er vel ikke alle browser som understøtter jquery?.

Kan jeg ikke lave sådan at det kommer ind i databasen på alder_m og alder_d og alder_y

så når jeg skal tag det ud af databasen så skal den regne frem til hvor gammel man er :)

lade også sige at jeg har "Fødselsdato" i morgen og jeg er 19 og gammel men jeg kan første blive opret som 20 år, hvor gør det så på den bedste mulig måde sådan at man første kan opret sig når man er 20 år og ikke før.

Spørger hvis der er noget du vil høre mere om :)



16 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato

jeg vil høre hvad der er den bedste måde at angive ens Fødselsdato på?,

hvorfor vil du have det i 3 felter ??
jeg ville slå dem sammen til 1 felt som jeg også skrev i
http://www.udvikleren.dk/forum/38884/foedselsdag-system indlæg 02.10.12 08:17
du gør det nemmere for dig selv at arbejde på datetime formatet

næsten alle har aktiveret js og dermed jquery (hvis det bliver loadet), men js kan slåes fra, og manipuleres af clienten, så lave en løsning der udelukkende baserer sig på js vil være dumt

js
validate format
http://www.the-art-of-web.com/javascript/validate-date/#.UfDDIqzPWBI

alder
https://www.google.dk/search?q=js+calc+age
http://stackoverflow.com/questions/4060004/calculate-age-in-javascript
http://stackoverflow.com/questions/4076321/javascript-age-calculation


lav et test eks og lig op så vi har noget konkret at "snakke" ud fra




Indlæg senest redigeret d. 25.07.2013 08:34 af Bruger #16075

jeg vil høre hvad der er den bedste måde at angive ens Fødselsdato på?,

hvorfor vil du have det i 3 felter ??
jeg ville slå dem sammen til 1 felt som jeg også skrev i
http://www.udvikleren.dk/forum/38884/foedselsdag-system indlæg 02.10.12 08:17
du gør det nemmere for dig selv at arbejde på datetime formatet

næsten alle har aktiveret js og dermed jquery (hvis det bliver loadet), men js kan slåes fra, og manipuleres af clienten, så lave en løsning der udelukkende baserer sig på js vil være dumt

js
validate format
http://www.the-art-of-web.com/javascript/validate-date/#.UfDDIqzPWBI

alder
https://www.google.dk/search?q=js+calc+age
http://stackoverflow.com/questions/4060004/calculate-age-in-javascript
http://stackoverflow.com/questions/4076321/javascript-age-calculation


lav et test eks og lig op så vi har noget konkret at "snakke" ud fra


Jeg skal lige være helt sikker før jeg sådan gå rigtig i gang, du kun have 1 felt? og den skal have "DATETIME", hvorfor lige "Datetime" og ikke "date"?.

"næsten alle har aktiveret js og dermed jquery (hvis det bliver loadet), men js kan slåes fra, og manipuleres af clienten, så lave en løsning der udelukkende baserer sig på js vil være dumt"
Den forstår jeg ikke lige helt?, Hvad mener du helt med det?


http://www.gizmola.com/blog/archives/107-Calculate-a-persons-age-in-a-MySQL-query.html

skriver de sådan her:
mysql> describe user;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| birthdate | date | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.27 sec)

mysql> select * from user;
+----+--------+------------+
| id | name | birthdate |
+----+--------+------------+
| 1 | Fran | 1967-10-31 |
| 2 | Bill | 1964-05-07 |
| 3 | Jimmy | 1965-04-27 |
| 4 | Stacy | 2002-11-30 |
| 5 | George | 2007-10-25 |
+----+--------+------------+
5 rows in set (0.00 sec)

så er det vel bare "DATE"





Indlæg senest redigeret d. 25.07.2013 15:01 af Bruger #17136

Jeg skal lige være helt sikker før jeg sådan gå rigtig i gang, du kun have 1 felt? og den skal have "DATETIME", hvorfor lige "Datetime" og ikke "date"?.

du kan sikkert også nøjes med date formatet (klipper jo bare timer:minuter:sekunder af)
fordelen ved 1 felt af typen datetime/date er der er en masse php og mysql functioner der arbejder direkte med denne datatype

du kan godt lave noget af det med js/query, men kontroller også serverside
du kan opnå en fordel ved at bruge js/jquery til at enable send knappen, og det er du bliver fri for botter, da de pt. ikke kan afvikle js


Den forstår jeg ikke lige helt?, Hvad mener du helt med det?


  1. du kan slå js fra i din browser

  2. du kan manipulerer med alle client data via diverse udviklings værtøjer, og derved omgå den sikkerhed du forsøger at sætte

  3. du kan glemme at kalde det externe jquery.min.js

  4. du kan lave en fel i dit js der gør at js ikke afvikles...... nåå nej programmører er ufejlbarlige :)

    1. de validerer altid deres code

    2. de validerer altid bruger input (minimum serverside, og gerne clientside)

    3. de tester altid, med fejl visning slået til, og retter de fejl der er: (serverside og clientside)

    4. de anvender udviklings værktøjerne til deres browser

    5. de tester deres code i flere browsere





sidder lige og leger lidt med jquery datepicker
Fold kodeboks ind/udKode 


serverside code er der vist noget i den tråd jeg henviste til tidligere der kan anvendes

hurtig omskrevet af http://www.udvikleren.dk/forum/38884/foedselsdag-system 01.10.12 19:41
(utestd)
Fold kodeboks ind/udKode 


når det ligger i databasen er dette indlæg interessant
http://www.udvikleren.dk/forum/38884/foedselsdag-system 02.10.12 08:17
men også den link du viste ovenfor





Jeg skal lige være helt sikker før jeg sådan gå rigtig i gang, du kun have 1 felt? og den skal have "DATETIME", hvorfor lige "Datetime" og ikke "date"?.

du kan sikkert også nøjes med date formatet (klipper jo bare timer:minuter:sekunder af)
fordelen ved 1 felt af typen datetime/date er der er en masse php og mysql functioner der arbejder direkte med denne datatype

du kan godt lave noget af det med js/query, men kontroller også serverside
du kan opnå en fordel ved at bruge js/jquery til at enable send knappen, og det er du bliver fri for botter, da de pt. ikke kan afvikle js


Den forstår jeg ikke lige helt?, Hvad mener du helt med det?


  1. du kan slå js fra i din browser

  2. du kan manipulerer med alle client data via diverse udviklings værtøjer, og derved omgå den sikkerhed du forsøger at sætte

  3. du kan glemme at kalde det externe jquery.min.js

  4. du kan lave en fel i dit js der gør at js ikke afvikles...... nåå nej programmører er ufejlbarlige :)

    1. de validerer altid deres code

    2. de validerer altid bruger input (minimum serverside, og gerne clientside)

    3. de tester altid, med fejl visning slået til, og retter de fejl der er: (serverside og clientside)

    4. de anvender udviklings værktøjerne til deres browser

    5. de tester deres code i flere browsere





sidder lige og leger lidt med jquery datepicker
Fold kodeboks ind/udKode 


serverside code er der vist noget i den tråd jeg henviste til tidligere der kan anvendes

hurtig omskrevet af http://www.udvikleren.dk/forum/38884/foedselsdag-system 01.10.12 19:41
(utestd)
Fold kodeboks ind/udKode 


når det ligger i databasen er dette indlæg interessant
http://www.udvikleren.dk/forum/38884/foedselsdag-system 02.10.12 08:17
men også den link du viste ovenfor


Altså jeg er lidt "ligeglad" med datetime - (jeg skal ikke rigtig bruge det til noget som helst)

Fold kodeboks ind/udPHP kode 


så kan jeg ikke bygge function ind i function :O ? hmm

er det så ikke bare tag function væk og lave en Variables som har ind post?


Vdr det script du har lavet med jquery, synes jeg det er smart men kan man ikke gøre sådan at fra i og 20 år bag ud kan man ikke vælge en dato?


Tænker lidt på :

Fold kodeboks ind/udJScript kode 


om man ikke kan første finde ud af om man er under 20 så skal den komme frem og sige Kan ikke opret dig! og man man er 21 så skal den komme frem og sige hvor gammel man er :)



Indlæg senest redigeret d. 25.07.2013 16:23 af Bruger #17136

Altså jeg er lidt "ligeglad" med datetime

så vælg du bare date.
hovedmålet var også bare at få dig væk fra at have 3 felter i din database af typen int som du har haft tidligere, og få dig tilat bruge de indbygget functioner.


så kan jeg ikke bygge function ind i function :O ? hmm

forklar venligst, du kan inde fra en function kalde en anden function



men kan man ikke gøre sådan at fra i og 20 år bag ud kan man ikke vælge en dato?


du skal kigge på
minDate og maxDate
prøv at ændre
maxDate: new Date(yyyy, mm, dd),
til dags dato (kæg mærke til måned starter med 0 i js, og 1 i php)
maxDate: new Date(1993, 06, 25),

datoen skal selvføgelig settes via serverside code





Altså jeg er lidt "ligeglad" med datetime

så vælg du bare date.
hovedmålet var også bare at få dig væk fra at have 3 felter i din database af typen int som du har haft tidligere, og få dig tilat bruge de indbygget functioner.


så kan jeg ikke bygge function ind i function :O ? hmm

forklar venligst, du kan inde fra en function kalde en anden function



men kan man ikke gøre sådan at fra i og 20 år bag ud kan man ikke vælge en dato?


du skal kigge på
minDate og maxDate
prøv at ændre
maxDate: new Date(yyyy, mm, dd),
til dags dato (kæg mærke til måned starter med 0 i js, og 1 i php)
maxDate: new Date(1993, 06, 25),

datoen skal selvføgelig settes via serverside code

Ja, jeg er kommet helt væk fra 3 felter, og gået over til 1 felt med dato


Nååår ja det er rigtigt nok ;) men det har jeg bare ikke arbejdet så meget med at kald en function et andet sted og til en anden :)

har du et f.eks? som jeg måske kun gå ud fra :)


ja det så jeg godt :)

Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 25.07.2013 16:46 af Bruger #17136
hurtigt banket sammen, kun for at teste CalcAge()
Fold kodeboks ind/udKode 


functionen Udregn kalder functionen CalcAge, og får et resultat retur den udskriver.
output
brugeren med dob 1966-11-10 er 46 år gammel
brugeren med dob 1993-07-25 er 20 år gammel

så kan jeg se i din code minimums alderen lige blev ændret til 15 år



hurtigt banket sammen, kun for at teste CalcAge()
Fold kodeboks ind/udKode 


functionen Udregn kalder functionen CalcAge, og får et resultat retur den udskriver.
output
brugeren med dob 1966-11-10 er 46 år gammel
brugeren med dob 1993-07-25 er 20 år gammel


Jeg kan ikke sådan helt se hvordan den skulle virker overhovedet
Fold kodeboks ind/udPHP kode 


Har du mulighed for at skrive "kommentar" altså sådan de tag fat hvor henne osv. :)
Jeg kan ikke få det helt til at passe sammen ellers må jeg skrive til dig privat eller opret en optråd hvis det er at jeg har spørgmål og hvorfor det ikke virer osv :)


Det er vel også første når jeg skal tag det ud af databasen at jeg skal tænke over det?

så kan jeg se i din code minimums alderen lige blev ændret til 15 år

Det var mere for at være helt sikker på at det virker 100%!




Indlæg senest redigeret d. 25.07.2013 18:00 af Bruger #17136

Jeg kan ikke sådan helt se hvordan den skulle virker overhovedet

functionen Udregn() kalder CalcAge() i linje 12, og det gør for hvert elementder der er i arrayet, og udskriver alderen
echo 'brugeren med dob '. $ar[$i] . " er ". CalcAge($ar[$i]) .' år gammel'."<br>";

selve test eks har ikke ret meget med det du skal lave, eneste formål var lige at teste CalcAge(), og vise hvordan en function kalder en anden function


Det er vel også første når jeg skal tag det ud af databasen at jeg skal tænke over det?

jeg tror du hentyder til dette
http://www.udvikleren.dk/forum/40115/letter-at-finde-rundt-i-koden/
løst i
http://www.eksperten.dk/spm/983651

du skal huske at teste alderen inden du ligger det ind i databasen. (stol aldrig på brugeren), så du kommer til at bruge CalcAge($POST['dob'])
men når du udtrækker data fra db, ja så er det den sql code du tidligere har fundet fra http://www.gizmola.com du skal anvende, for at finde aktuelle alder





Jeg kan ikke sådan helt se hvordan den skulle virker overhovedet

functionen Udregn() kalder CalcAge() i linje 12, og det gør for hvert elementder der er i arrayet, og udskriver alderen
echo 'brugeren med dob '. $ar[$i] . " er ". CalcAge($ar[$i]) .' år gammel'."<br>";

selve test eks har ikke ret meget med det du skal lave, eneste formål var lige at teste CalcAge(), og vise hvordan en function kalder en anden function


Det er vel også første når jeg skal tag det ud af databasen at jeg skal tænke over det?

jeg tror du hentyder til dette
http://www.udvikleren.dk/forum/40115/letter-at-finde-rundt-i-koden/
løst i
http://www.eksperten.dk/spm/983651

du skal huske at teste alderen inden du ligger det ind i databasen. (stol aldrig på brugeren), så du kommer til at bruge CalcAge($POST['dob'])
men når du udtrækker data fra db, ja så er det den sql code du tidligere har fundet fra http://www.gizmola.com du skal anvende, for at finde aktuelle alder


Nej ved godt at man aldrig skal stol på brugeren

tænker du sådan her:

Fold kodeboks ind/udPHP kode 


du tænker på den her : http://www.gizmola.com/blog/archives/107-Calculate-a-persons-age-in-a-MySQL-query.html ??



<< < 12 > >>
t