Seite 1 von 3
User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 21:13
von mps
Hallo zusammen,
ich würde es gerne einstellen, dass wenn ein User sich gerade per Mail bestätigt hat und unser Forum das nächste mal danach besucht, die Seite tour.php
aufgerufen wird. Wie stelle ich das am besten an?
Vielen Dank.
Gruß,
mps
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 22:14
von HabNurNeFrage
Hi,
ist diese tour.php eine eigenständige Seite oder ins phpbb Template eingebunden?
LG
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 22:19
von mps
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 22:45
von HabNurNeFrage
.
//** EDIT => Grund: Ersetzung nun auch in diesem Beitrag korrigiert */
Hi,
öffne
./includes/functions.php
finde (Zeilen 3104 bis 3106)
Code: Alles auswählen
$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
ersetze es durch
Code: Alles auswählen
if($user->data['user_lastvisit'] == 0)
{
header('Location: ' . append_sid("{$phpbb_root_path}tour.$phpEx"));
}
else
{
$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
}
Ist ungetestet, sollte aber umleiten, wenn das Feld letzter Besuch in der Datenbank noch nicht befüllt ist.
Im Normalfall sollte das nur für Registrierte, die sich noch nie eingeloggt haben, so sein.
LG
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:04
von mps
Leider geht das ganze nicht. Ich glaube auch den Fehler gefunden zu haben. In deinem PHP-Code steht ja:
if($user->data['user_lastvisit'] == 0)
Jedoch steht in der Datenbank dann nicht 0 sondern nichts, also die Zelle ist leer. Wie sieht der Code dann aus. Einfach die Null weg?
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:09
von HabNurNeFrage
Hi,
dann ersetze die 0 mal durch ''
oder if(!$user->data['user_lastvisit'])
oder if(empty($user->data['user_lastvisit']))
LG
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:14
von mps
Irgendwie funktioniert das ganze leider immer noch nicht...

Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:27
von HabNurNeFrage
Hi,
keinerlei Änderung oder Fehlerausgabe?
LG
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:29
von mps
Ich lande immer auf der index.php?sid=XXXXXXXXXXXXXXXXXXXXXXX
Re: User nach Registrierung auf eine Seite weiterleiten
Verfasst: 29.11.2014 23:36
von HabNurNeFrage
Hi,
und wie testest Du das?
PhpMyAdmin nebenbei auf und user_lastvisit vom Testuser immer wieder eine 0 rein, da das nämlich der Default-Value des Feldes ist?
Die erste Abfrage nach 0 sollte die richtige sein.
Testuser ausloggen, 0 eintragen und erneut einloggen. Ggf noch TRUNCATE phpbb_sessions (loggt aber alle aus)
LG