Problem: Alter berechnen!

sonnySTAR

Erfahrenes Mitglied
Guten Tag erstmal alle miteinander ;) ....

Heute hab ich mal versucht, das Alter eines Users zu berrechnen. In der Datenbank-spalte "userbday" steht der Geburtstag (z.B: 28.05.1987) ... nun anhand dieser angabe möchte ich sein alter berechnen. Das Script dazu schaut bei mir so aus:

PHP:
<?php
$alterexp = explode(".",$data_u[bday]);
function alter($day,$month,$year)
{
$month_now=date("m");    
$day_now=date("d");      
$year_now=date("Y");    

$alter=$year_now-$year;

if ($month_now==$month)  /
{
  if ($day_now<$day)
  {
   return ($alter-1);     
  } else {
   return ($alter);       
  }
} elseif ($month_now<$month) {  
  return ($alter-1);
} else {        
  return ($alter);
}
} 
?>

und in der userprofil.php steht dass dann so:
PHP:
<?php
echo ' <table width="100%">'.alter($alterexp[1],$alterexp[2],$alterexp[3]).'</table> ';
?>

Nun, er gibt bei mir aber immer dass Alter "2005" aus oO ? :) ... Kann mir da jemand helfen ? was hab ich falsch gemacht ?

Vielen Dank an die User im vorraus

MFG
sonnySTAR
 
versuchs mal hirmit
Code:
  <?
  function get_alter ($year, $month, $day) {
  	$tag_now = strftime ("%d", time());
  	$monat_now = strftime ("%m", time());
  	$jahr_now = strftime ("%Y", time());
  	$tag_d = $day;
  	$monat_d = $month;
  	$jahr_d = $year;
  	$div_jahre = $jahr_now - $jahr_d;
  	if ($monat_now > $monat_d) {
  		$div_jahre++;
  	} else if ($monat_now == $monat_d) {
  		if ($tag_now > $tag_d) {
  			$div_jahre++; 
  		}
  	}
  	return $div_jahre -1; 
  } 
  ?>


mfg : hhunderter
 
neee, das selbe problem ;) ... trotzdem danke!

Kann es sein dass es daran liegt:
PHP:
<?php
$alterexp = explode(".",$data_u[bday]); // $data_u[bday] -> z.B: 28.05.1987
?>
 
Wieso könnt ihr nicht erstmal suchen bevor ihr einen neuen Thread aufmacht?
Gerade gestern hatten wir einen Thread dazu (siehe MySQL Forum)!
 
1. Sorry, aber ich suche immer im PHP Forum ... und ned das komplette Forum :-/ (fehler von mir!)
2. Als ich gerade im MYSQL Forum danachg esucht hab, habe ich nichts gefunden. Könntest mir den Link schicken ?
3. Hat keienr ne Lösung für mein Problem ? ;P ...

Aber nochmals Danke an alle user ;)
 
Naja, so leid es mir ja auch tut ... aber geholfen hat es mir nicht wirklich ;P ...

bekomme immer noch alter: 2005 raus, obwohl ich mittlerweile schon mehrere lösungen versucht habe :-/
 
Schnellantwort versuchs mal damit:

PHP:
<?php
echo ' <table width="100%">'.alter($alterexp[0],$alterexp[1],$alterexp[2]).'</table> ';
?>

Im Array ist immer der Index 0 der erste Wert!
 
1. DANKEEEEE ;)
2. Nun habe ich folgendes geändert:
PHP:
<?php $bday = $data_u[userbday];
$alterexp = explode(".", $bday);
?>

und
PHP:
<?php
echo ' <table width="100%">'.alter($alterexp[0],$alterexp[1],$alterexp[2]).'</table> ';
?>

und TADAAAAA, es funktioniert ;)

Ich danke dir vielmals
 
Zurück