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

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

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

Beitrag 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....
Benutzeravatar
Akschel
Mitglied
Beiträge: 43
Registriert: 14.12.2006 17:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Akschel »

Du willst also, das das Alter zur zeit der Registrierung abgespeichert bleibt?
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag 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.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

*schieb*
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag 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?
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag 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?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag 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
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

ach sooo, ich hab anstatt regAGE regDATE gelesen, darum kam ich nicht draus... ja war ja auch früh am morgen ^^
Antworten

Zurück zu „Coding & Technik“