Вы не зашли.
Страницы 1
После переезда на хостинг с PHP 5.3 появилась проблема с регистрацией. Грешу именно на то, что проблема в самом PHP т.к. код движка не трогал. Дамп вроде тоже вряд ли сам по себе побился.
После ввода данных и нажатия на кнопку "Регистрация" вылетает ошибка:
MySQL ERROR [query]: INSERT INTO _users (name, pass, mail, status,
reg, last, activation, punbb_userid) VALUES ('sash_kan',
'7a6c153db610c3959a98556fbc62c818', 'alex.barakin@gmail.com', '4',
'1259946843', '', 'f7002c5588', '180')
(1366): Incorrect integer value: '' for column 'last' at row 1
Вроде как для
last int(10) NO 0
передается строковое значение, когда нужно численное.
Как это можно исправить? Никто не встречался с подобной ошибкой?
Не в сети
Luca, ты забыл указать какой-нибудь префикс для таблиц в бд. (это так к слову)
--------------------------------------------------------
А вообще можешь
Попробуй в файле auth_basic.php в строках 178, 183, 190 и 201 вместо '' для last передавать в бд 0
(у меня svn версия)
-------------------------------------------------------
Еще вариант
в файле core.php
строку 44 закоментируй
@error_reporting (E_ALL ^ E_NOTICE);
и добавь ниже
@error_reporting (E_ALL | E_STRICT);
@ini_set('display_errors', 0);
Это вообще отключит вывод ошибок
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Amarelius, а префикс вообще нужен? помоему он только на случай если несколько таблиц в одной базе хранится...
А не мог бы скопипастить сюда строки в которых менять нужно. SVN с релизом расходится...
Почему вообще знание неверное передается? Может ли это быть действительно проблема с PHP 5.3?
Изменено Luca (2009-12-04 23:51:10)
Не в сети
Вот для релиза, уже с нулями
169
$mysql->query("INSERT INTO ".uprefix."_users (name, pass, mail, status, reg, last) VALUES (".db_squote($values['login']).", ".db_squote(EncodePassword($newpassword)).", ".db_squote($values['email']).", ".$regstatus.", '".$add_time."', 0)");
174
$mysql->query("INSERT INTO ".uprefix."_users (name, pass, mail, status, reg, last) VALUES (".db_squote($values['login']).", ".db_squote(EncodePassword($newpassword)).", ".db_squote($values['email']).", ".$regstatus.", '".$add_time."', 0)");
181
$mysql->query("INSERT INTO ".uprefix."_users (name, pass, mail, status, reg, last, activation) VALUES (".db_squote($values['login']).", ".db_squote(EncodePassword($newpassword)).", ".db_squote($values['email']).", ".$regstatus.", '".$add_time."', 0, '".$actcode."')");
192
$mysql->query("INSERT INTO ".uprefix."_users (name, pass, mail, status, reg, last) VALUES (".db_squote($values['login']).", ".db_squote(EncodePassword($values['password'])).", ".db_squote($values['email']).", ".$regstatus.", '".$add_time."', 0)");
----------------------------------------------
Думаю проблема с режимом отображения ошибок, скорее всего он у тебя сильно чутко настроен.
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Amarelius,
MySQL ERROR [query]: INSERT INTO _users (name, pass, mail, status, reg, last, activation, punbb_userid) VALUES ('test1236', '713e4a7ae98e491fb995335466a0b7d1', 'luca@live.ru', '4', '1260005869', '', '637f29c84a', '182')
(1366): Incorrect integer value: '' for column 'last' at row 1
Вот теперь какая ошибка вылетает...
мне тут предлагают:
"1. найти код, который формирует запрос.
2. определить имя переменной, которая подставляется в запрос
для вставки в поле last. допустим, это будет $last.
3. перед отправкой запроса вставить:
if(empty($last)) $last=0;"
как этот фикс можно применить?
Изменено Luca (2009-12-05 21:01:14)
Не в сети
Luca, Это таже ошибка, только в плагине авторизации punbb, у меня такого плагина нет (не использую). Если прикрепишь то я подправлю. Предложенный тобою фикс реализовать не получиться так как в запросе не участвует подобная переменная для данного параметра, там просто указано ''
Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com
Не в сети
Не в сети
Amarelius,
настройки у меня одинаковые
http://clip2net.com/page/m0/2878462
C базовой версией проверил - работает. Но мне очень нужна возможность иметь кроссрегистрацию на сайте и на форуме одновременно. т.е. чтобы пользователю не нужно было регистрироваться отдельно в двух местах.
Изменено Luca (2009-12-07 20:35:52)
Не в сети
Страницы 1