PDA

View Full Version : вход с форума


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 строки):

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
redirect(append_sid($url, true));


и заменяем их на следующий код:

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 строки должен быть такой код:


//
// 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_allow_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());
}
}


сравните с тем, что есть в вашем файле.
он следует сразу за этим кодом:

'T_SPAN_CLASS3' => $theme['span_class3'],

'NAV_LINKS' => $nav_links_html)
);


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



if (!function_exists("docookie")) {
function docookie($setuid, $setusername, $setpass, $setstorynum, $setumode, $setuorder, $setthold, $setnoscore, $setublockon, $settheme, $setcommentmax) {
$info = base64_encode("$setuid:$setusername:$setpass:$setstorynum:$setumode:$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($url, true));

Dartanyan
12.01.2009, 03:11
уряяя!!!тоже помогло!я бился 2 дня!спасиб огоромное!