форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.5.x > vBulletin [3.5] Troubleshooting and Problems
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
ip027
Простоузер
Question авторизация на сайте
0

авторизация на сайте через форум т.е. надо вставить на index.php форму авторизайии с форума.

нашел на форуме:
Code:
 
<table width=176 cellpadding=0 cellspacing=0>
<tr>
<td colspan=3 class=t_10 height=40 style="color: #ffffff"><b>Welcome</b></td>
</tr>
<form action="forum/login.php" method="post" onsubmit="md5hash(vb_login_password,vb_login_md5pa ssword,vb_login_md5password_utf)">
<script type="text/javascript" src="forum/clientscript/vbulletin_md5.js"></script>
<input type="hidden" name="cookieuser" value="1" id="cb_cookieuser_navbar">
<tr>
<td class=t_10 height=19 style="color: #ffffff">User Name:</td>
<td width=75><input type=text style="" class=inp name="vb_login_username" id="navbar_username"></td>
<td rowspan=2><input type=image height=36 width=36 src="fusion_themes/Luna-G/images/but_login.gif"></td>
</tr>
<tr>
<td class=t_10 height=19 style="color: #ffffff">Password:</td>
<td><input type=password style="" class=inp name="vb_login_password"></td>
</tr>
</form>
</table>
но эта форма просто редиректит на форум, а мне так ненадо!
я сделал совмещ. авториз. если форум лежит в корневой папке, а если в /forum/ то уже не проходит. знаю что продлема в
Code:
define('CWD', (($getcwd = getcwd()) ? $getcwd : '.'));
хелп ПЛЗ!!
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Devine
Простоузер
 
Devine's Avatar
Lightbulb
1

На самом деле тема действительно необходимая ...
Облазил весь форум, пользовался поиском, но ничего более или менее рабочего не нашел.
У меня стоит вобла версии 3.5.4, и движок под сайт пишу сам на основе воблы ...
А вот авторизазацию сделать никак не получаеца ...
Помогите люди добрые.

добавлено через 1 час 37 минут
C авторизацией разобрался. Сделал вот так.
--------------------------------------
В начале скрипта
Code:
require_once('./forum/global.php');
require_once(DIR . '/forum/includes/functions_bigthree.php');
require_once(DIR . '/forum/includes/functions_forumlist.php');
и собственно сама форма авторизации.
Code:
<!-- login form -->
		<form action="./forum/login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, $show[nopasswordempty])">
		<script type="text/javascript" src="clientscript/vbulletin_md5.js?v=$vboptions[simpleversion]"></script>
		<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
		<tr>
			<td><input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="20" accesskey="u" tabindex="101" value="" onfocus="if (this.value == '$vbphrase[username]') this.value = '';" /></td>
		</tr>
		<tr>
			<td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="20" accesskey="p" tabindex="102" /></td>
		</tr>
		</table>
		<input type="hidden" name="s" value="$session[sessionhash]" />
		<input type="hidden" name="do" value="login" />		
		<input type="hidden" name="vb_login_md5password" />
		<input type="hidden" name="vb_login_md5password_utf" />
		</form>
		<!-- / login form -->
Выдернул все это из шаблона navbar.
--------------------------------------
У меня возникла следующая проблема:
Авторизация проходит нормально, после входа меня возвращает на страницу с которой я входил, но мне необходимо чтоб там появились надписи типа Добро пожаловать User,
У вас X сообщений, Выход.
Но по факту я вижу теже самые поля для ввода информации, может поможет кто? Очень нада.

Last edited by Devine : 08-17-2006 at 03:18 AM. Reason: Добавлено сообщение
 
 
Devine
Простоузер
 
Devine's Avatar
Default
2

Сделал абсолютно рабочий алгоритм ... всю ночь сидел заморачивался но теперь все работает на 100%.
------------------
в корне форума создал файлик sitelogin.php

PHP Code:
<?
error_reporting
(E_ALL & ~E_NOTICE);

define('THIS_SCRIPT''sitelogin');

$specialtemplates = array(
    
'userstats',
    
'birthdaycache',
    
'maxloggedin',
    
'iconcache',
    
'eventcache',
    
'mailqueue'
);

$globaltemplates = array(
    
'sitelogin',

);


$actiontemplates = array();


eval(
'print_output("' fetch_template('sitelogin') . '");');

?>
как видно из последней строки кода, я вызываю на отображение шаблон созданый дополнительно и имеющий название "sitelogin", он выглядит следующим образом:
PHP Code:
<if condition="$show['member']">
    
        
        
            <
strong><phrase 1="$bbuserinfo[username]">$vbphrase[welcome_x]</phrase></strong><br />
            <
phrase 1="$pmbox[lastvisitdate]2="$pmbox[lastvisittime]">$vbphrase[last_visited_x_at_y]</phrase>
            <if 
condition="$show['pmstats']"><br /><phrase 1="$vbphrase[unread_x_nav_compiled]2="$vbphrase[total_x_nav_compiled]3="$session[sessionurl_q]">$vbphrase[private_messages_nav]</phrase></if>
            <if 
condition="$show['pmwarning']"><br /><strong><phrase 1="$pmpercent">$vbphrase[your_pm_box_is_x_full]</phrase></if>

        
    <else />
        
        
        <!-- 
login form -->
        <
form action="./forum/login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, $show[nopasswordempty])">
        <
script type="text/javascript" src="clientscript/vbulletin_md5.js?v=$vboptions[simpleversion]"></script>
        <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0"><tr>
        <td>
            <input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="$vbphrase[username]" onfocus="if (this.value == '$vbphrase[username]') this.value = '';" /></td>
        </tr>
        <tr>
            <td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" accesskey="p" tabindex="102" /></td>
        </tr>
        </table>
        <input type="hidden" name="s" value="$session[sessionhash]" />
        <input type="hidden" name="do" value="login" />        
        <input type="hidden" name="vb_login_md5password" />
        <input type="hidden" name="vb_login_md5password_utf" />
        </form>
        <!-- / login form -->
            
        </td>
        
    </if>    
    
</tr>
</table> 
добавлено через 1 минуту
Данный код рабочий на 100%.
Конечно может кто-то возмется да и переделает его в модуль, просто я этим никогда не занимался.

добавлено через 13 минут
Забыл уточнить ...
Мой сайт полность построен на шаблонах воблы ...

Last edited by Devine : 08-18-2006 at 02:36 AM. Reason: Добавлено сообщение
 
 
sysbat
Простоузер
Default
0

Подскажи пожалуйста почему вылетает ошибка

Warning: main(/home/www/domain.com/html/includes/init.php): failed to open stream: No such file or directory in /home/www/domain.com/html/forum/global.php on line 20

Fatal error: main(): Failed opening required '/home/www/domain.com/html/includes/init.php' (include_path='.:/usr/local/lib/php') in /home/www/domain.com/html/forum/global.php on line 20


Теперь вот такая ошибка

Fatal error: Call to undefined function: fetch_template() in /home/www/domain.com/html/forum/sitelogin.php on line 24

Я так понимаю файлик sitelogin.php нужно так вызывать
require_once('/home/www/domain.com/html/forum/sitelogin.php);

добавлено через 5 часов 9 минут
Unable to add cookies, header already sent.
File: /home/www/evapills.com/html/forum/test.php
Line: 2

хе-хе дошел до этого пункта. Кто что посоветует?
добавлено через 18 часов 52 минуты
Вопрос:
Почему в опере не работает?

B 2 вопрос. Почему при вводе нормального пароля пишет все ok вы вошли а потом редиректит назад опять на форму ввидите логин и пароль?

Last edited by sysbat : 08-30-2006 at 12:18 PM. Reason: Добавлено сообщение
 
 
Devastrator
Простоузер
Default
0

аналогично.. вхожу пишет добро пожаловать и поять кидает на авторизацию...это всё опера?или шос другое?
 
 
Sergmust
Продвинутый
Default
0

Кто-нибудь довел до ума эту тему?
 
 
criminalstatecebep
Продвинутый
 
criminalstatecebep's Avatar
Default
3

я использую в своей цмс файл forum/includes/functions.php


вот код блока с авториацией и если авторизован то показывается инфо "добро пожаловать .. ляляля"


PHP Code:
if (is_user_logged($user)) {
    
$imginfo $sqldb->sql_fetchrow($sqldb->sql_query("SELECT dateline, width, height FROM ".VB_PREFIX."customavatar WHERE userid = ".$cookie[0]." AND visible = 1"));

    
$content .= "<table cellSpacing=0 cellPadding=0 width=\"100%\" border=0>";
    
$content .= "<tr><td width=3%></td><td class=small valign=top>";
    
$content .= "<b>Добро пожаловать, $username.</b>";
    
$content .= "&nbsp;&nbsp;<b>»</b>&nbsp;<a class=menulink href=\"/".VB_DIR"/usercp.php\">кабинет</a><br>";
        
$content .= "&nbsp;&nbsp;<b>»</b>";
        
$pms $sqldb->sql_fetchrow($sqldb->sql_query("SELECT pmtotal, pmunread FROM ".VB_PREFIX."user WHERE userid='".$cookie[0]."' LIMIT 1"));
        
$numrow $pms['pmtotal'];
        
$newpm $pms['pmunread'];
            if (
$newpm != 0) {
                
$content .= "&nbsp;<a href=\"/".VB_DIR."/private.php\"><img src=\"$imgurl/pm.gif\" align=absMiddle border='0'>&nbsp;$newpm</a>";
            }
        
$content .= " <a class=menulink href=\"/".VB_DIR."/private.php\"> <b>$numrow</b> личные сообщения</a><br>";
    
$content .= "&nbsp;&nbsp;<b>»</b>";
    
$content .= "&nbsp;<A class=menulink href=\"/site/account/?action=logout&redirect=$redirect\">выход</A>";
if (
$imginfo['dateline']) {
    
$content .= "</td><td valign=center><img src=\"/".VB_DIR."/image.php?u=".$cookie[0]."&dateline=".$imginfo['dateline']."\">";
//    $content .= "</td><td valign=center align=center><img src=\"/".VB_DIR."/avatars/".$cookie[0].".gif?dateline=".$imginfo['dateline']."\">";
}
    
$content .= "</TD></TR></form></TABLE>";
} else {
    
$content "<table cellSpacing=0 cellPadding=0 border=0><form action=\"/".VB_DIR."/login.php\" method=\"post\" onsubmit=\"md5hash(vb_login_password,vb_login_md5password,vb_login_md5password_utf)\"><tr>";
    
$content .= "<td class=small><font class=\"content\"><script type=\"text/javascript\" src=\"/".VB_DIR."/clientscript/vbulletin_md5.js\"></script>\n";
    
$content .= "<input class=loginBox type=\"text\" name=\"vb_login_username\" id=\"navbar_username\" size=\"9\" maxlength=\"25\" accesskey=\"u\" tabindex=\"1\">";
    
$content .= "&nbsp;";
    
$content .= "<input class=loginBox type=\"password\" name=\"vb_login_password\" size=\"9\" maxlength=\"20\" accesskey=\"p\" tabindex=\"2\"><input type=\"image\" src=\"$imgurl/cf-btn.gif\" align=absmiddle hspace=3 border=0 name=image accesskey=\"s\">";
    
$content .= "<br><label for=\"cb_cookieuser_navbar\"><input type=\"checkbox\" name=\"cookieuser\" value=\"1\" tabindex=\"3\" id=\"cb_cookieuser_navbar\" accesskey=\"c\" checked=\"checked\">Запомнить Меня</label>";
    
$content .= "<input type=\"hidden\" name=\"s\" value=\"\">\n";
    
$content .= "<input type=\"hidden\" name=\"do\" value=\"login\">\n";
    
$content .= "<input type=\"hidden\" name=\"forceredirect\" value=\"1\">\n";
    
$content .= "<input type=\"hidden\" name=\"vb_login_md5password\">\n";
    
$content .= "<input type=\"hidden\" name=\"vb_login_md5password_utf\">\n";
//    $content .= "<input type=\"submit\" value=\"вход\" accesskey=\"s\"></font></center></form>";
    
$content .= "<br>&nbsp;&nbsp;<IMG alt src=\"$imgurl/bullet.gif\" align=absmiddle> <a href=\"/".VB_DIR."/login.php?do=lostpw\">забыли пароль?</A>";
    
$content .= "<BR>&nbsp;&nbsp;<IMG alt src=\"$imgurl/bullet.gif\" align=absmiddle> <a href=\"/".VB_DIR."/register.php\">регистрация</A>";
    
$content .= "</TD></TR></form></TABLE>";
}

$blockcache $content


Добавлено через 6 минут
ах да, вот еще функция логаута которая у меня используется )))

PHP Code:
function logout() {
    global 
$prefix$sqldb$user$cookie$siteurl;
    
cookiecontent($user);
    
$uses $sqldb->sql_fetchrow($sqldb->sql_query("SELECT salt FROM ".VB_PREFIX."user WHERE userid='".$cookie[0]."' LIMIT 1"));
    
Header("Location: $siteurl/".VB_DIR."/login.php?do=logout&logouthash=".md5($cookie[0] . $uses['salt'] . COOKIE_SALT));


Last edited by criminalstatecebep : 03-26-2007 at 08:15 PM. Reason: Добавлено сообщение
 
 
Malcolm Reed
Эксперт
 
Malcolm Reed's Avatar
Default
0

criminalstatecebep,
зачем ты $content .= для каждой строчки пишешь?
так не проще будет?:
PHP Code:
$content .= "здесь
твой 
текст"


чай не в перле кодим....
 
 
criminalstatecebep
Продвинутый
 
criminalstatecebep's Avatar
Default
1

Malcolm Reed, да понимаю я это ))) привычка у меня дурная такая )))
 
 
Sergmust
Продвинутый
Default
0

Quote:
Originally Posted by criminalstatecebep View Post
я использую в своей цмс файл forum/includes/functions.php


вот код блока с авториацией и если авторизован то показывается инфо "добро пожаловать .. ляляля"


PHP Code:
if (is_user_logged($user)) { 

Спасибо!
А вот эта функция is_user_logged откуда берется?
Поиск ничего не дал...
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 10:29 AM.


Powered by vBulletin® Version VipeR Edition
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...