Seite 1 von 1

Birthday Mod - Alter bei der Registrierung in DB einfügen

Verfasst: 31.01.2007 20:17
von phillip
Hi, habe mir den Birthday Mod eingefügt, und eigentlich ist auch alles ok, aber ist es nicht irgendwie möglich, dass bei der Registrierung das Alter gleich berechnet wird, und mit dem Geburtstag somit in eine seperate tabelle eingefügt werden kann?


Die altersberechnung wird mit folgenden script ausgeführt:

Code: Alles auswählen

 
   $this_year = create_date('Y', time(), $board_config['board_timezone']); 
   $this_date = create_date('md', time(), $board_config['board_timezone']); 
   if ( $row['user_birthday'] != 999999 ) 
   { 
      $poster_birthdate=realdate('md', $row['user_birthday']); 
      $poster_age = $this_year - realdate ('Y',$row['user_birthday']); 
      if ($this_date < $poster_birthdate) $poster_age--; 
      $poster_age = $poster_age; 
   } else 
   { 
      $poster_age = ''; 
   } 
    
man müsste das ganze nun abändern....

Verfasst: 31.01.2007 20:20
von Akschel
Du willst also, das das Alter zur zeit der Registrierung abgespeichert bleibt?

Verfasst: 31.01.2007 20:22
von phillip
ja genau. also dass die altersberechnung bei der registrierung ausgeführt wird, und diese lange Zahl ^^ (für das Geburtsdatum), sowie das ausgerechnete Alter gespeichert wird.

Verfasst: 01.02.2007 21:27
von phillip
*schieb*

Verfasst: 01.02.2007 22:46
von Leuchte
Als erstes brauchst du ein neues Feld in der Users-Tabelle. Das kannst du dir über KB:phpMyAdmin anlegen. Nenn das Feld user_regage. Danach
includes/usercp_register.php - Finde

Code: Alles auswählen

			$sql = "INSERT INTO " . USERS_TABLE . "	(user_id, username, user_regdate, user_password,
Füge davor ein

Code: Alles auswählen

      if ($b_day || $b_md || $b_year)
	    {
		    $user_age= (date('md')>=$b_md . (($b_day <= 9) ? '0' : '') . $b_day) ? date('Y') - $b_year : date('Y') - $b_year - 1;
      }
Finde

Code: Alles auswählen

, user_birthday
Füge direkt danach ein

Code: Alles auswählen

, user_regage
Finde

Code: Alles auswählen

, '$birthday'
Füge direkt danach ein

Code: Alles auswählen

, '$user_age'
Ungetestet, bitte Rückmeldung

[edit]
diese lange Zahl
Bei meinem Beispiel wird das Alter gespeichert, möchtest du das?

Verfasst: 02.02.2007 06:14
von phillip
Leuchte hat geschrieben:
diese lange Zahl
Bei meinem Beispiel wird das Alter gespeichert, möchtest du das?
ja, das ist völlig korrekt. jetzt müsste ich nur noch das $user_age bei mir i die user_alter tabelle einfügen, richtig?

Verfasst: 02.02.2007 13:02
von Leuchte
Das wird bei der Registrierung automatisch gemacht. Ich hoffe du hast das Feld user_regage wie empfohlen genannt. Sonst musst du das im Code auch ändern

Verfasst: 02.02.2007 16:44
von phillip
ach sooo, ich hab anstatt regAGE regDATE gelesen, darum kam ich nicht draus... ja war ja auch früh am morgen ^^