Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Темы оформления phpNuke
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
z-0091 вне форума      Старый личный кабинет, авторизацию на сайте в шапку сайта. #1  
z-0091
Частый Гость
Регистрация: 25.11.2009
Сообщения: 43


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для z-0091 Найти все сообщения от z-0091 Добавить z-0091 в список друзей  
07.04.2010, 19:53

дело в том, что по своей задумке, ввод логина и пароля на моем сайте будет находиться в шапке сайта (с права рядом/на банере) хотелось бы поподробнее узнать, как это можно осушествить. ведь этот блок для анонимов и для авторизованых пользователей будет разным.

Soniks вне форума      Старый #2  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
08.04.2010, 19:59

Есть вот такой вариант проверки:
PHP код:
 global $user;
if(
is_user($user)){
echo 
" тут выводим блок для пользователя";
}else{
echo 
"тут выводим блок для гостя";


Если вы используете темы на html шаблонах,
то вместо echo "...";
можно ввести переменную, например:
PHP код:
 if(is_user($user)){
$u_block "тут html код для блока пользователя";
}else{
$u_block "тут html код для блока гостя";


и в html шаблоне уже просто вставляете в нужном месте переменную $u_block
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


z-0091 вне форума      Старый #3  
z-0091
Частый Гость
Регистрация: 25.11.2009
Сообщения: 43


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для z-0091 Найти все сообщения от z-0091 Добавить z-0091 в список друзей  
15.04.2010, 12:36

этот пшп код адаптирован под версию 8.0??? дело в том что я нашел вот такой вот код, и он отличаеться вроде.

PHP код:
 if ($username == $anonymous) {
        
mt_srand ((double)microtime()*1000000);
        
$maxran 1000000;
        
$random_num mt_rand(0$maxran);
        
$datekey date("F j");
        
$rcode hexdec(md5(".htmlspecialchars($_SERVER[HTTP_USER_AGENT])." $sitekey $random_num $datekey));
        
$code substr($rcode26);
        echo 
"
                    <form action=\"modules.php?name=Your_Account\" method=\"post\"  style=\"display: inline\">
                        <input type=\"hidden\" name=\"op\" value=\"login\">&nbsp; <font class=A_white>Логин:</font>
                        <input type=\"text\" name=\"username\" maxlength=\"25\">
                        <input type=\"hidden\" name=\"random_num\" value=\"
$random_num\">
                        <input type=\"hidden\" name=\"gfx_check\" value=\"
$code\">
                        <font class=A_white>Пароль:</font>
                        <input type=\"password\" name=\"user_password\" maxlength=\"20\">
                        <input type=\"submit\" value=\"Вход\">
                    </form>
        "
;
    }
    else {
        echo 
"            &nbsp;&nbsp;<font class=A_white>Здравствуйте $username !</font></b>";
    }
    echo 
"            </td>
                <td width=\"30%\">
                    <p align=\"right\"><font class=A_white><b>
                    <script type=\"text/javascript\">
                        <!--     // Array ofmonth Names
                        var monthNames = new Array( \"Января\",\"Февраля\",\"Марта\",\"Апреля\",\"Мая\",\"Июня\",\"Июля\",\"Августа\",\"Сентября\",\"Октября\",\"Ноября\",\"Декабря\");
                        var now = new Date();
                        thisYear = now.getYear();
                        if(thisYear < 1900) {thisYear += 1900}; // corrections if Y2K display problem
                        document.write(now.getDate() + \" \" + monthNames[now.getMonth()] + \", \" + thisYear + \"&nbsp;года\");
                        // -->
                    </script>
                    </b></font>
                </td>
            </tr>
        </table>
    "



Этот код из файла theme в теме оформления под 8-ю версию

z-0091 вне форума      Старый #4  
z-0091
Частый Гость
Регистрация: 25.11.2009
Сообщения: 43


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для z-0091 Найти все сообщения от z-0091 Добавить z-0091 в список друзей  
15.04.2010, 14:56

немного разобравшись, изменил под себя часть авторизации, которая была в стандартной теме рус нюки 8.0. Получилось следующее:

PHP код:
 if ($username == $anonymous) {
        
mt_srand ((double)microtime()*1000000);
        
$maxran 1000000;
        
$random_num mt_rand(0$maxran);
        
$datekey date("F j");
        
$rcode hexdec(md5(".htmlspecialchars($_SERVER[HTTP_USER_AGENT])." $sitekey $random_num $datekey));
        
$code substr($rcode26);
        echo 
"
                    
                   <table border=\"0\">
<tr>
<td>
                    <form action=\"modules.php?name=Your_Account\" method=\"post\">
                        <input type=\"hidden\" name=\"op\" value=\"login\">&nbsp; 
                        <p><font class=A_white>Логин:&nbsp &nbsp </font><input type=\"text\" name=\"username\" maxlength=\"25\"></p>
                        <p><input type=\"hidden\" name=\"random_num\" value=\"
$random_num\">
                        <input type=\"hidden\" name=\"gfx_check\" value=\"
$code\"></p>
                        <p><font class=A_white>Пароль:&nbsp</font><input type=\"password\" name=\"user_password\" maxlength=\"20\"></p>
                        <p align=\"center\">
                        <input type=\"submit\" value=\"Войти\"></p>
                        <p align=\"center\">
                        <a href=\"modules.php?name=Your_Account&amp;op=new_user\">Регистрация</A>
                        <a href=\"modules.php?name=Your_Account&amp;op=pass_lost\">Забыли пароль?</A>
                    </p>
                    </form>
                        
</td>
</tr>
</table>
        "
;
    }
    else {
        echo 
"            &nbsp;&nbsp;<font class=A_white>Здравствуйте $username !</font></b>";
    
    } 


но дело в том, что мой шаблон сайта построен на html.
как я понимаю:
Код:
mt_srand ((double)microtime()*1000000); $maxran = 1000000; $random_num = mt_rand(0, $maxran); $datekey = date("F j"); $rcode = hexdec(md5(".htmlspecialchars($_SERVER[HTTP_USER_AGENT])." . $sitekey . $random_num . $datekey)); $code = substr($rcode, 2, 6);

в этой часте идет шифрование кода. как мне вставить это все в мой шаблон?


Как вы мне посоветовали

if(is_user($user)){
$u_block = "тут html код для блока пользователя";
}else{
$u_block = "themes/$ThemeSel/loginbloks.html";
}

тоесть в своем шаблоне, я должен вставить переменую $u_block на том месте, где у меня будет выполняться вход на сайт. как мне засунуть, форму ввода вместе с шифрованием в фал loginbloks.html

зы. Большое спасибо за терпение.

Soniks вне форума      Старый #5  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
15.04.2010, 15:12

Можно и по другому:
PHP код:
 global $user$cookie$anonymous$sitekey;
cookiedecode($user);
$username $cookie[1];
if (
$username == "") {
$username $anonymous;
}
 
if(
$username == $anonymous){
$u_block "         &nbsp;&nbsp;<font class=A_white>Здравствуйте $username !</font></b>"
}else{
 
mt_srand ((double)microtime()*1000000); 
     
$maxran 1000000
        
$random_num mt_rand(0$maxran); 
        
$datekey date("F j"); 
        
$rcode hexdec(md5(".htmlspecialchars($_SERVER[HTTP_USER_AGENT])." $sitekey $random_num $datekey)); 
        
$code substr($rcode26); 
     
$u_block 
 
                 <table border=\"0\"> 
<tr> 
<td> 
                    <form action=\"modules.php?name=Your_Account\" method=\"post\"> 
                        <input type=\"hidden\" name=\"op\" value=\"login\">&nbsp; 
                        <p><font class=A_white>Логин:&nbsp &nbsp </font><input type=\"text\" name=\"username\" maxlength=\"25\"></p> 
                        <p><input type=\"hidden\" name=\"random_num\" value=\"
$random_num\"> 
                        <input type=\"hidden\" name=\"gfx_check\" value=\"
$code\"></p> 
                        <p><font class=A_white>Пароль:&nbsp</font><input type=\"password\" name=\"user_password\" maxlength=\"20\"></p> 
                        <p align=\"center\"> 
                        <input type=\"submit\" value=\"Войти\"></p> 
                        <p align=\"center\"> 
                        <a href=\"modules.php?name=Your_Account&amp;op=new_user\">Регистрация</A> 
                        <a href=\"modules.php?name=Your_Account&amp;op=pass_lost\">Забыли пароль?</A> 
                    </p> 
                    </form> 
 
</td> 
</tr> 
</table> 
        "

 


Вставляете это в theme.php в функцию themeheader(), а в html файле header.html вставляете переменную $u_block в нуное место где необходимо вывести блок для гостя или пользователя.
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


z-0091 вне форума      Старый #6  
z-0091
Частый Гость
Регистрация: 25.11.2009
Сообщения: 43


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для z-0091 Найти все сообщения от z-0091 Добавить z-0091 в список друзей  
15.04.2010, 16:54

все остальное удалить в фнкции themeheader()?
PHP код:
 function themeheader() {
    global 
$user$banners$sitename$slogan$nukeurl$site_logo$anonymous$cookie$prefix$db$ThemeSel;
    
cookiedecode($user);
    
$username $cookie[1];
    if (
$username == "") {
        
$username $anonymous;
    }
    if (isset(
$_POST['query']) OR isset($_GET['query'])) {
        (isset(
$_POST['query']) ? $query=filter($_POST['query'],"nohtml") : $query=filter(rawurldecode($_GET['query']),"nohtml"));
    }
    else {
        
$query='';
    }
    
$ads ads(0);
    
$public_msg public_message(); 

$tmpl_file "themes/$ThemeSel/header.html";
    
$thefile implode(""file($tmpl_file));
    
$thefile addslashes($thefile);
    
$thefile "\$r_file=\"".$thefile."\";";
    eval(
$thefile);
    print 
$r_file;
    
blocks(left);
    
$tmpl_file "themes/$ThemeSel/left_center.html";
    
$thefile implode(""file($tmpl_file));
    
$thefile addslashes($thefile);
    
$thefile "\$r_file=\"".$thefile."\";";
    eval(
$thefile);
    print 
$r_file


на том месте, где должны быть форма, стоит надпись здравствуйте гость..

поменял
if($username == $anonymous){

на

if(is_user($user)){

и все заработало

z-0091 вне форума      Старый #7  
z-0091
Частый Гость
Регистрация: 25.11.2009
Сообщения: 43


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для z-0091 Найти все сообщения от z-0091 Добавить z-0091 в список друзей  
15.04.2010, 19:34

еше вот маленький вопросик, возможно не по теме.
Если пользователь аворизовался, появляется надпись
Здравствуйте $username. где $username переменная содержащая имя пользователя. Я хотел бы еше добавить следующее:
поле личные сообщения
поле редактирования акка
поле выход.
Где мне взяять переменные все?
и вообще, на будушее, есть ли где-то список всех переменных?

Soniks вне форума      Старый #8  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
17.04.2010, 20:07

z-0091 Это обычные ссылки, на те или иные модули системы. установите обычную тему и посмотрите путь нужных вам ссылок.
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


BFG вне форума      Старый #9  
Аватара для BFG
BFG
Участник+
Регистрация: 09.02.2006
Сообщения: 179


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для BFG Посетить домашнюю страницу BFG Найти все сообщения от BFG Добавить BFG в список друзей  
16.01.2011, 17:01

а вот это как раз то что нужно, даже не пришлось новую тему создавать )))
 
[url]www.ChelseaTeam.Ru[/url]


Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
личный кабинет? Exe Модули 4 21.03.2007 12:38


Часовой пояс GMT +4, время: 19:00.


На Верх
Рейтинг@Mail.ru