Здравейте, от доста време мислех да пробвам да направя логин, с който да влизам във форума ми от страница, която не се намира в неговата директория. След като се поразтърсих малко из интернет видях как може да направя подобно нещо и го направих. Обаче се появи един проблем - идеята е когато някои се логне, например от главната страница на сайта (не на форума) да не го отвежда на главната страница на форума, а да го върне обратно на страницата, в която се е логвал. Не съм сигурен дали се изразих ясно ето защо давам един пример:
В момента е:
yoursite.com/news - от тук се логвам.
yoursite.com/forum - тук ме отвежда винаги.
Ако може искам да се получи:
yoursite.com/news - от тук се логвам.
yoursite.com/news - след като съм се логнал отново да ме върне в същата страница.
Това е кода, който използвам за логването:
Дали е възможно да се направи redirect към друга страница, но така, че висчко да работи нормално.
Вторият ми въпрос е свързан с вмъкването на този мод във страниците. В момента използвам кода (долу), за да вкарам файла за логване. Опитах да го вкарам със <?php include yoursite.com/forums/login2.php"; ?> , но така мода, не може да функционира и не разпознава дали съм се логнал или не съм. Има ли някакъв вариант да се използва php include за да вмъкна файла и той да работи пълноценно. Със фрейм всичко върви безпроблемно, но ми се иска да не използвам фреймове, все пак ако няма решение, ще се налои да използвам фреймове.
Благодаря, предварително на всички!
В момента е:
yoursite.com/news - от тук се логвам.
yoursite.com/forum - тук ме отвежда винаги.
Ако може искам да се получи:
yoursite.com/news - от тук се логвам.
yoursite.com/news - след като съм се логнал отново да ме върне в същата страница.
Това е кода, който използвам за логването:
Код:
<?php
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if( $userdata['session_logged_in'] )
{
// they're logged in, welcome them, check to see if they're admin, grab their info
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{
if ( $userdata['user_new_privmsg'] )
{
$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);
if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
}
$s_privmsg_new = 1;
$icon_pm = $images['pm_new_msg'];
}
else
{
$s_privmsg_new = 0;
$icon_pm = $images['pm_new_msg'];
}
}
else
{
$l_privmsgs_text = $lang['No_new_pm'];
$s_privmsg_new = 0;
$icon_pm = $images['pm_no_new_msg'];
}
if ( $userdata['user_unread_privmsg'] )
{
$l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
$l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
}
else
{
$l_privmsgs_text_unread = $lang['No_unread_pm'];
}
}
else
{
$icon_pm = $images['pm_no_new_msg'];
$l_privmsgs_text = $lang['Login_check_pm'];
$l_privmsgs_text_unread = '';
$s_privmsg_new = 0;
}
$template->assign_vars(array(
'L_LOGIN_LOGOUT' => $l_login_logout,
'L_PRIVATEMSGS' => $lang['Private_Messages'],
'L_PROFILE' => $lang['Profile'],
'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text,
'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread,
'U_PRIVATEMSGS' => append_sid('privmsg.'.$phpEx.'?folder=inbox'),
'U_LOGIN_LOGOUT' => append_sid($u_login_logout),
'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'),
"USER_ID" => $userdata['user_id'],
"SESSION_ID" => $userdata['session_id'],
)
);
$template->set_filenames(array(
"body" => "gn_logged_in.tpl")
);
$template->pparse("body");
}
else
{
if (!isset($board_config['allow_autologin']) || $board_config['allow_autologin'] )
{
$template->assign_block_vars('switch_allow_autologin', array());
$template->assign_block_vars('switch_user_logged_out.switch_allow_autologin', array());
}
$template->assign_vars(array(
'S_LOGIN_ACTION' => append_sid('login.'.$phpEx),
"PHPBB_URL" => $phpBB_url,
"SESSION_ID" => $userdata['session_id'],
)
);
// they're logged in, welcome them, check to see if they're admin, grab their info
$template->set_filenames(array(
"body" => "gn_login.tpl")
);
$template->pparse("body");
}
?>
Дали е възможно да се направи redirect към друга страница, но така, че висчко да работи нормално.
Вторият ми въпрос е свързан с вмъкването на този мод във страниците. В момента използвам кода (долу), за да вкарам файла за логване. Опитах да го вкарам със <?php include yoursite.com/forums/login2.php"; ?> , но така мода, не може да функционира и не разпознава дали съм се логнал или не съм. Има ли някакъв вариант да се използва php include за да вмъкна файла и той да работи пълноценно. Със фрейм всичко върви безпроблемно, но ми се иска да не използвам фреймове, все пак ако няма решение, ще се налои да използвам фреймове.
Код:
<iframe src="yoursite.com/forums/login2.php" align="center" frameborder="0" width="100%" height="28" marginheight="0" marginwidth="0" name="iframe name" scrolling="no" ></iframe>
Благодаря, предварително на всички!