Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Модули (http://forum.mynuke.ru/forumdisplay.php?f=17)
-   -   вход с форума (http://forum.mynuke.ru/showthread.php?t=2671)

isic 12.03.2007 18:33

вход с форума
 
Подскажите что где с коректировать. У меня такая проблема если заходить в НЮКу с форума как зарегестрированый пользователь то выдаёт вот это :
Error in obtaining userdata

DEBUG MODE

SQL Error : 1054 Unknown column 'user_login_tries' in 'field list'

SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try FROM nuke_users WHERE username = 'isic'

Line : 70
File : login.php


Нюка 8 и соотвественно форум встроенный.

Astrix 12.03.2007 18:41

Ха-ха-ха! Наконец-то у кого-то такая же проблема появилась...
Где ж вы раньше были...
Я ее решил в свое время, но уже не помню, как - давно это было. А сейчас я на воблу перешел и вообще забыл, что такое phpBB

Но самое первое, что идет в голову, это добавить отсутствующие столбцы в таблицу nuke_users.
Но это решает только половину проблемы, собственно, проблему ошибки.
А вот авторизация по-прежнему работать не будет...
Как я эту проблему решил, честно, не помню...

isic 12.03.2007 18:48

млин а как так разработчики не видели и не знают об этой проблемы? тем более он идет интегрированный

Astrix 12.03.2007 18:54

я тоже себе этот вопрос задавал. меня это взбесило прям. но пришлось все руками исправлять...

isic 12.03.2007 18:56

и что самое интересное на форуме они и не объяснят как исправить.

isic 13.03.2007 12:17

уважаемый Soniks может вы поможите или подскажите что сделать что бы убрать эту ошибку.

isic 14.03.2007 13:13

На rus-phpnuke.com мне по советовали решить эту проблему таким образом.

Цитата Попробуй добавить поле 'user_login_tries' в таблице 'nuke_users' как int 5, к примеру.

Как Вы думаете это поможет в решение данного вопроса?

Astrix 14.03.2007 15:10

Вот одно из возможных решений:
вставляем в табличку префикс_users поля:
user_login_tries int(5)
user_last_login_try int(11)

открываем файл modules/Forums/login.php

находим такие строчки (около 108 строки):
PHP код:
 $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&''&'htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
redirect(append_sid($urltrue)); 


и заменяем их на следующий код:
PHP код:
 if (!defined('MODULE_FILE')) define('MODULE_FILE'true);
$op "login";
$user_password $password;
$mode $f $t $random_num $gfx_check '';
$redirect 'index';
include (
'modules/Your_Account/index.php'); 


Я сделал это за 15 минут, так что уж не обессудьте...

isic 14.03.2007 16:29

Astrix Урааааа получилось. Светлая у Вас голова )))

Astrix 14.03.2007 18:33

isic, кто бы сомневался ;)
В сам деле, тут ничего сложного нет. Поковыряетесь в нюке с месяц-другой - тоже так сможете!

isic 16.03.2007 14:32

Astrix
у меня вот такое произошло )). Я установил ХАК на форум topic_in_whoisonline, но вроде бы работает этот ХАК, но теперь если заходить с форума, то происходит вот такое действие.
Водишь логин и пароль ты входишь но строка в таблицу внизу в которой в водишь логин не исчезает. Но форум видеть что ты зашел под своим логином . Что делать Уважаемй Astrix ? Подскажите

Astrix 16.03.2007 20:14

откройте файл includes/page_header.php

там в районе 455 строки должен быть такой код:

PHP код:
 //
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
        
$template->assign_block_vars('switch_user_logged_out', array());
//
// Allow autologin?
//
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_a  llow_autologin', array());
}
}
else
{
        
$template->assign_block_vars('switch_user_logged_in', array());

        if ( !empty(
$userdata['user_popup_pm']) )
        {
                
$template->assign_block_vars('switch_enable_pm_popup', array());
        }



сравните с тем, что есть в вашем файле.
он следует сразу за этим кодом:
PHP код:
 'T_SPAN_CLASS3' => $theme['span_class3'],

        
'NAV_LINKS' => $nav_links_html)
); 


а еще попробуйте заменить то, что я писал раньше на такой кусок кода:

PHP код:
 if (!function_exists("docookie")) {
function 
docookie($setuid$setusername$setpass$setstorynum$setumode$setuorder$setthold$setnoscore$setublockon$settheme$setcommentmax) {
    
$info base64_encode("$setuid:$setusername:$setpass:$setstorynum:$setumo  de:$setuorder:$setthold:$setnoscore:$setublockon:$  settheme:$setcommentmax");
    
setcookie("user","$info",time()+2592000);
}
}
require_once(
'mainfile.php');

$sql "SELECT user_password, user_id, storynum, umode, uorder, thold, noscore, ublockon, theme, commentmax FROM ".$user_prefix."_users WHERE username='".addslashes($username)."'";
$result $db->sql_query($sql);
$setinfo $db->sql_fetchrow($result);

docookie($setinfo['user_id'], addslashes($username), $setinfo['user_password'], $setinfo['storynum'], $setinfo['umode'], $setinfo['uorder'], $setinfo['thold'], $setinfo['noscore'], $setinfo['ublockon'], $setinfo['theme'], $setinfo['commentmax']);
$uname $_SERVER['REMOTE_ADDR'];
$db->sql_query("DELETE FROM ".$prefix."_session WHERE uname='$uname' AND guest='1'");
$db->sql_query("UPDATE ".$prefix."_users SET last_ip='$uname' WHERE username='$username'");
//Либо в оригинальном файле вышенаписаный код вставьте перед нижеследующим
$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&''&'htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx"
redirect(append_sid($urltrue)); 

Dartanyan 12.01.2009 03:11

уряяя!!!тоже помогло!я бился 2 дня!спасиб огоромное!


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

Copyright © 2005 by Soniks