Topic: Web Registration System
Вроде все настроил, при попытке создать игрока вылетает Error: Error when trying to send mail.
Как решить?
PvPGN Community Forums |
forums.pvpgn.pro → 3d Party Tools → Web Registration System
Вроде все настроил, при попытке создать игрока вылетает Error: Error when trying to send mail.
Как решить?
Для текущей версии веб регистрации подразумевается, что у тебя на сервере установлен smtp сервер.
Собственно есть ли способ поставить регистрацию на удаленный сервер?
А как удаленный сервер будет создавать акк в удаленной базе?
Можно и на удаленный. Мускуль ведь поддерживает удаленные соединения.
Вообщем-то возник такой вопрос... Как прикрутить такую фитчу чтоб скрипт добавлял в другую базу данных Логин\Пароль (Но уже с мд5 хэшем.). А точнее чтоб одновременно создавал акк в пвпгн и в phpBB форуме. Если надо название таблицы то напишу.
Загуглить.
Спросить на форуме поддержки phpbb.
Посмотреть в коде phpbb.
Загуглить.
Спросить на форуме поддержки phpbb.
Посмотреть в коде phpbb.
Гуглил. Я хотел этот скрипт доработать. Чтоб он добавлял в базу phpbb пользователя такого же. а стандартную регу форума отрубить, и регистрацию из игры отрубить.
В index.php строки 198, 207
Код InsertData($data,"BNET"); - вставляет в таблицу бнет нового юзера.
Около него тебе нужно выбрать бд phpbb и вставить инсерт в таблицу пользователей форума. Как там хеш пароля делается - ищи в исходниках phpbb.
В index.php строки 198, 207
Код InsertData($data,"BNET"); - вставляет в таблицу бнет нового юзера.
Около него тебе нужно выбрать бд phpbb и вставить инсерт в таблицу пользователей форума. Как там хеш пароля делается - ищи в исходниках phpbb.
Делаеться он в md5 проблема вся в том что инсерт делает отдельный скрипт вроде...
Можно поподробнее плиз сам код. а то я в пхп нуб с БД
Если форум находится на том же хосте, то делаешь примерно так:
// An admin is creating this account, so we don't need activation
InsertData($data,"BNET");
// выбираем базу форума
@mysql_select_db("бдфорума") or error(1,$language['dbconnecterror'],mysql_error());
// поля и их значения в таблице форума
$user_data = array(
'полеюзера' => trim($_POST['acct_username']),
'полепароля' => trim($_POST['password1']), // тут нуджно применить твой мд5
и т.д.
)
// вставляем нового юзера в форум
InsertData($user_data,"таблицаюзеровфорума");
Если форум на другом хосте, то перед выбором нужно закрыть первое соединение, и открыть новое.
Кстати, измени функцию в insertdata.php, чтобы всегда корректно вставлялось и от возможных скл инъекций (экранирование вставляемых в бд значений ф-ей mysql_escape_string)
function InsertData($data,$table) {
unset($keys, $values);
foreach($data as $key => $val) {
// echo "Key: " . $key . ", Value: " . $val . "<br>";
if (isset($keys)) {
$keys .= ",`" . mysql_escape_string($key) . "`";
$values .= ",'" . mysql_escape_string($val) . "'";
} else {
$keys = "`" . mysql_escape_string($key) . "`";
$values = "'" . mysql_escape_string($val) . "'";
}
}
if (@mysql_query("INSERT INTO `" . $table . "`(" . $keys . ") VALUES(" . $values . ")")) {
return true;
} else {
error(1,__DBINSERTERROR,mysql_error());
}
}
Кстати, измени функцию в insertdata.php, чтобы всегда корректно вставлялось и от возможных скл инъекций (экранирование вставляемых в бд значений ф-ей mysql_escape_string)
И тут обосрались?
Если форум находится на том же хосте, то делаешь примерно так:
Если форум на другом хосте, то перед выбором нужно закрыть первое соединение, и открыть новое.
Кстати, измени функцию в insertdata.php, чтобы всегда корректно вставлялось и от возможных скл инъекций (экранирование вставляемых в бд значений ф-ей mysql_escape_string)
Вылетает ошибка при заходе в регистрацию...
InsertData($user_data,"bb_users");
на эту строчку ругаеться.
у меня получилось так.
// выбираем базу форума
@mysql_select_db("phpbb") or error(1,$language['dbconnecterror'],mysql_error());
$pashashf = md5(trim($_POST['password1']));
// поля и их значения в таблице форума
$user_data = array(
'username' => trim($_POST['acct_username']),
'user_password' => $pashashf, // тут нуджно применить твой мд5
'user_id' => $data['uid'],
//и т.д.
)
// вставляем нового юзера в форум
InsertData($user_data,"bb_users");
Вставил я это дело после
} else if ($activation['method'] == "none") {
// Account activation is not required, so lets insert the info straight away!
InsertData($data,"pvpgn_BNET");
Что ндо сделать чтоб ошибки не было?
Почему ты решил вставлять $data['uid'] ?
Попробуй сначала вставить в бд форума те данные, которые вставляются кодом. Может их недостаточно.
Убери @ из своего кода.
Что пишет в ошибке?
forums.pvpgn.pro → 3d Party Tools → Web Registration System