leeftijd

Overzicht Reageren

29/05/2004 22:02:00
Quote Anchor link
Als ik de geboortedatum weet hoe kan ik dan uitrekenen hoe oud iemand (vandaag) is?


Bij voorbaat dank,

JOHN
 
PHP hulp

PHP hulp

24/07/2014 14:18:51
 
Bas Kreleger
Beheerder

Bas Kreleger

29/05/2004 22:22:00
Quote Anchor link
Je moet dan de huidige datum (als timestamp vorm) weten, en de geboorte datum in dezelfde timestamp, en dan huidige datum - geboorte datum doen. Dan krijg je als het goed is de timestamp van de huidige leeftijd.. En dat moet je dan ff goed weergeven :)))
 
Mitch X

Mitch X

29/05/2004 22:26:00
Quote Anchor link
Jepz ...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
$nu
= time();
$geboorte = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));

$tijdertussen = $nu - $geboorte;
?>
 

30/05/2004 16:07:00
Quote Anchor link
Als ik het volgende script run:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

if(isset($submit) && $submit=="Doorgaan")
{

    if (empty($geboren)) { return FALSE; }

    $nu = time();
    $geboren = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));
    $leeftijd = $nu - $geboren;

    echo "Uw leeftijd is " . $leeftijd . "<br>\n";
}
else{

?>


<h2>Uw leeftijd bepalen</h2>
<form name="testform" method="post" action=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$PHP_SELF?>
>
Geboortedatum <input type=datum name=geboren size=10>
<hr>
<input type=submit name=submit value="Doorgaan">
<input type=reset name=reset value="Leegmaken">
</form>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
}


?>


en mijn eigen geboortedatum invul (11-10-1968),
krijg ik de volgende melding(en):

Warning: unexpected error in date() in leeftijd.php on line 8
Uw leeftijd is 1085926073
 
Bas Kreleger
Beheerder

Bas Kreleger

30/05/2004 16:08:00
Quote Anchor link
$maand $dag en $jaar moet dan dus de geboorte datum zijn he?
 
John de Boer

John de Boer

30/05/2004 16:33:00
Quote Anchor link
Moet ik dan zoiets als de volgende script runnen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

if(isset($submit) && $submit=="Doorgaan")
{

    #if (empty($geboren)) { $geboren = $dag . "-" . $maand . "-" . $jaar };

    $nu = time();
    // U - seconden sinds epoch
    $geboren = date("U", mktime(0, 0, 0, $maand, $dag, $jaar));
    $leeftijd = $nu - $geboren;

    echo "Uw leeftijd is " . $leeftijd . "<br>\n";
}
else{

?>


<h2>Uw leeftijd bepalen</h2>
<form name="testform" method="post" action=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$PHP_SELF?>
>
Geboortedatum
<input type=int name=dag size=3>
<select name=maand>
<option value=""></option>
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type=int name=jaar size=5>
<hr>
<input type=submit name=submit value="Doorgaan">
<input type=reset name=reset value="Leegmaken">
</form>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
}


?>


Ik weet eigenlijk ook niet precies wat epoch is...

ik krijg dan nog nog de melding:
Warning: unexpected error in date() in leeftijd.php on line 9
Uw leeftijd is 1085927285
 
John de Boer

John de Boer

01/06/2004 20:25:00
Quote Anchor link
Is het niet lastig uitrekenen als je geboren bent voor 1 januari 1970??? (dat is epoch dus...)

Maar het gaat dus over hoeveel jaren je al op de wereld rondloopt.... niet het aantal seconden of wat dan ook...
 
Arend a

Arend a

01/06/2004 20:27:00
Quote Anchor link
Nee hoor. Voor de epoch krijg je negatieve getallen, het verschil blijft absoluut.
 

02/06/2004 13:28:00
Quote Anchor link
Ik ben ook bezig geweest voor een script om de leeftijd te bereken. Ik heb het bovenstaande voorbeeld gebruikt maar ik kwam er niet aan uit en dus heb ik zelf maar een script geschreven. Het is mss niet zo'n geweldig script maar het werkt :D Ik haal men Geboortedatum overigens uit een db.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$leeft
= $var->leeftijd;
$date = explode("-", $leeft);

$jaartoen = $date[0];
$maandtoen = $date[1];
$dagtoen = $date[2];

$jaarnu = date(Y);
$maandnu = date(m);
$dagnu = date(d);

$jaar = $jaarnu - $jaartoen;
$maand = $maandnu - $maandtoen;
$dag = $dagnu - $dagtoen;

if ($maand < 0)
$leeftijd = $jaar-1;
elseif ($maand == 0 AND $dag < 0)
$leeftijd = $jaar-1;
else
$leeftijd = $jaar;

echo "$leeftijd";
?>
 
John de Boer

John de Boer

02/06/2004 23:51:00
Quote Anchor link
@Roy

Ik zal het eens proberen, alvast bedankt Roy...
Ik ben (helaas) niet zo thuis in klassen en objecten


JOHN
 
Bas Kreleger
Beheerder

Bas Kreleger

03/06/2004 00:18:00
Quote Anchor link
Hij gebruikt alleen $var->leeftijd. Dit omdat $var dus een object is met de leeftijd. Als je hiervan maakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$leeftijd
= "21";
?>


Zal hij het ook doen..
 

03/06/2004 09:04:00
Quote Anchor link
$leeft = $var->leeftijd;

$var->leeftijd is het resultaat wat ik uit men db haal. Dit is dan bijv mijn eigen geboorte datum 1987-03-16 in de vorm Y-m-d dus. die split ik en dan trek ik de jaren, maanden, dagen van elkaar af. tenslote kijk ik dan welke getallen netatief zijn en zo kijk ik of die persoon in dit jaar al jarig geweest is :)
 
John de Boer

John de Boer

03/06/2004 16:49:00
Quote Anchor link
Ik haal de leeftijd niet uit een db, maar het is de bedoeling dat je dan je geboortedatum opgeeft via een (HTML-)formulier en aan de hand van je leeftijd dus de resultaten te zien krijgt
Het kan altijd nog via een db doen met gebruikersgegevens van de mensen die ingelogd zijn en daar dus de geboortedatum uithaalt.
Maar als er mensen zich niet registreren kan ik hun leeftijd dus niet achterhalen
Gewijzigd op 03/06/2004 16:50:00 door John de Boer
 
Mitch X

Mitch X

03/06/2004 17:14:00
Quote Anchor link
Jawel via de info uit je form kan het natuurlijk ook :)
 
John de Boer

John de Boer

03/06/2004 19:09:00
Quote Anchor link
Ik heb het volgende formulier aangemaakt:

<form name="ageform" method="post" action=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$PHP_SELF?>

<select size="1" name="gebdag">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name=gebmaand size="1">
<option value=""></option>
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="text" name="gebjaar" size="5"></p>
<p><input type=submit name=submit value="Doorgaan"><input type=reset name=reset value="Leegmaken"></p>
</form>

Maar hij geeft de dagen achter elkaar en niet in een vervolgkeuzelijst, zoals de bedoeling is...

Wie kan hier de fout ontdekken?
 
Mitch X

Mitch X

03/06/2004 19:31:00
Quote Anchor link
<form name="ageform" method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $_SERVER['PHP_SELF']; ?>
">
<select size="1" name="gebdag">
<option value=""></option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="gebmaand" size="1">
<option value=""></option>
<option value="01">Januari</option>
<option value="02">Februari</option>
<option value="03">Maart</option>
<option value="04">April</option>
<option value="05">Mei</option>
<option value="06">Juni</option>
<option value="07">Juli</option>
<option value="08">Augustus</option>
<option value="09">September</option>
<option value="10">Oktober</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<input type="text" name="gebjaar" size="5"></p>
<p><input type="submit" name="submit" value="Doorgaan"><input type="reset" name="reset" value="Leegmaken"></p>
</form>

Edit : Je was een > vergeten en een stel quotes :P
Gewijzigd op 03/06/2004 19:32:00 door Mitch X
 

03/06/2004 19:31:00
Quote Anchor link
Je bent een > vergeten. bij de bovenste form tag volgens mij.

<form name="ageform" method="post" action=
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$PHP_SELF?>
>
 
John de Boer

John de Boer

03/06/2004 19:39:00
Quote Anchor link
Jullie hebben me de oplossing toegereikt

@Mitch
Het wil ook zonder $_SERVER hoor en ook zonder quotes werkt die wel :-)

Ik wil jullie allemaal bedanken voor jullie moeite!
Bedankt allemaal!!!

Vind ik wel een kratje bier waard! ;-p


Groetjes,

JOHN
Gewijzigd op 03/06/2004 19:43:00 door John de Boer
 
Mitch X

Mitch X

03/06/2004 19:46:00
Quote Anchor link
"Het wil ook zonder $_SERVER hoor en ook zonder quotes werkt die wel :-) "

Jaja, maar wil je nou goede code produceren of prut code en zeggen -> het werkt toch?
Mja je moet het zelf weten ...
 
John de Boer

John de Boer

03/06/2004 20:14:00
Quote Anchor link
Ik wil natuurlijk goede code produceren, maar ik hou t in eerste instantie simpel (voor de test) om het dan later te verbeteren

Ik heb dit kleine scripte gemaakt om het dan in te voegen in het desbetreffende script.
 



Overzicht Reageren