Seite 1 von 1

Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 01:11
von the_zoker_09
Hallo zusammen,

Gibt es die Möglichkeit, dieses Script so umzuschreiben, dass man wenn man sich einloggt und vorher noch kein Geburtsdatum angegeben hat, auf eine Seite kommt, auf der man sein Geburtsdatum vervollständigen muss:

Code: Alles auswählen

	//Begin agree to privacy on first login Mod
	if ($user->data['user_agree_privacy'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'privacy'))
	{
		if (confirm_box(true))
		{
			$sql = 'UPDATE ' . USERS_TABLE . "
				SET user_agree_privacy = '1'
				WHERE user_id = " . $user->data['user_id'];
			$db->sql_query($sql);
		}
		else
		{
			confirm_box(false, sprintf($user->lang['AGREE_PRIVACY'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy') . '">', '</a>'));
			header("Location: " . append_sid("{$phpbb_root_path}ucp.$phpEx?mode=logout&sid=" . $user->session_id));
		}
	}
	//End agree to privacy on first login Mod
Ist das möglich?

Vielen Dank
the_zoker_09

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 17:59
von Kirk
Hallo
Schau dir doch mal dieses Snippet an.

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 19:14
von the_zoker_09
Hab ich schon eingebaut.
Aber es gibt User, die sich schon vorher registriert haben.
Und für die möchte ich eben zur Pflicht machen, ihr Geburtsdatum noch nachträglich eintragen zu müssen.

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 19:23
von Charlie_M
Prime Birthdate Require
Man MUSS im Profil das entsprechende Feld ausfüllen (Geburtstag), sonst kommt man nicht weiter. Funzt auch mit der aktuellen PHPBB-Version.

Optional kann man auswählen ob das Geburtstag im Profil für andere User sehbar ist.

Prost!

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 21:33
von the_zoker_09
Danke, aber das ist noch nicht das, was ich mir vorstelle.

Ich dachte eher an eine Abfrage, wie sie oben beschrieben ist, also:
Wenn der User sich einloggt und noch keine Angaben zum Geburtstag gemacht hat:

Code: Alles auswählen

if ($user->data['user_birthday'] == "leer" { 
	"User auf eine Seite weiterleiten und auf dieser Seite nur drei Dropboxen für das Geburtstagsdatum anzeigen."
	if "User klick auf absenden" {
		if "der user keine Angabe macht" {
			"Fehler ausgeben"
		}
		else {
			"Angaben in der Datenbank speichern und den User auf die zuvor aufgerufene Seite weiterleiten"
		}
	}
}
Das würde die Sachen einfacher machen.

Ich hoffe mein "Psydo Code" ist verständlich.

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 23:09
von Charlie_M
Das Ergebnis ist das selbige, ausser:
"User auf eine Seite weiterleiten und auf dieser Seite nur drei Dropboxen für das Geburtstagsdatum anzeigen."
Wenn ich das richtig verstehe müsstest ja noch extra eine Seite erstellen und die Daten entsprechend in die DB eintragen. Der Mod integriert das Pflichtfeld in die Registrierung (ohne gehts nicht weiter) und ordnet entsprechend den Altersbeschränkungen automatisch User Gruppen zu. Bereits reg. User müssen ZUERST im Profil die Altersangabe machen, sonst gehts nicht weiter, d.h. man wird IMMER nach der Anmeldung ins Profil umgeleitet.

Einfacher gehts meiner Meinung nach nicht und entspricht den gegebenen Anforderungen, ausser daß man keine extra Seite und entsprechende DB-Einträge erstellen muss...

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 23:26
von the_zoker_09
Also:
  • Die Pflicht, dass User bei der Registrierung das Geburtsdatum eingeben müssen, hab ich schon.
  • Die User sollen aber nicht aufs UCP weitergeleitet werden, sondern ins Forum (wenn sie ihr GB schon angegeben haben).
  • Die Funktion mit der Altersbeschränkung brauche ich nicht
  • Es ist für die User klarer, wenn es eine Seite gibt wie die hier:
    [ externes Bild ](Mit Photoshop erstellt)
    auf der sie sehen, was sie eingeben müssen, anstatt einfach nur ins UCP weitergeleitet zu werden und dann erraten müssen, was sie nun ergänzen müssen
  • Datenbank Einträge müssen auch keine weiteren erstellt werden, da es ja den Einträg für Geburtstag schon gibt, und die Funktion die ich bauen möchte, prüft, ob etwas eingetragen ist. Wenn nicht -> Weiterleitung auf eine erstellte Seite (und das mit der Seite ist das kleinste Problem)
Mein Problem ist nur, dass ich nicht weiss, wie ich das hinbekomme, dass die Funktion den GB anfragt und dann die User weiterleitet. Und auch so, dass sie auf keine andere Seite können, wenn sie diesen Eintrag nicht gemacht haben.
Ich habe auch ein Problem damit, zu verstehen, wie die Einträge, die die User dann auf der Seite machen in die Datenbank kommen.

Dafür wäre eine (ich denk nicht allzu lange) php Funktion am besten. Nur weiss ich nicht, wie ich diese bauen soll :/

Aber dennoch vielen Dank :D

Re: Wenn Benutzerdaten Fehlen weiterleiten

Verfasst: 15.06.2012 23:31
von Charlie_M
Ist dann wohl eher ein Fall für die Jobbörse...