Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Совместимость в Joomle 3 регистраций в 1

Обсуждение темы Совместимость в Joomle 3 регистраций в 1 в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; И снова я тут и уже с серьёзным вопрос... Сижу на Joomle... Вопрос такой, как сделать совместимость 3-х регистраций в 1. Т.е. Регистрация: ...


Закрытая тема
 
Опции темы
Старый 11.03.2010, 20:47   #1
И снова я тут и уже с серьёзным вопрос...
Сижу на Joomle...
Вопрос такой, как сделать совместимость 3-х регистраций в 1.
Т.е. Регистрация:
1.Joomla - Движок.
2.Phpbb - форум.
3.World of Warcraft - Mmorpg игра.

1.Думаю знаю как там происходит регистрация.
2.Тоже понятно.
3.Сейчас опишу как тут происходит регистрация...

PHP код:
<?php
$config 
= array (  
'wname'   => 'mangos'// база мира  
'rname'   => 'realmd'// база реалмов  
'cname'   => 'characters'// база чаров   
'host' => '127.0.0.1'// адрес БД  
'user' => 'root'// логин к БД  
'pass' => 'vertrigo'// пароль к БД  
'port' => '3306'// порт к БД  
);  
$db1 "realmd";     
$db2 "mangos";
$db3 "characters";    
$host "localhost";   
$user "mangos";   
$pass "mangos";      
$port "3306";    
$tbc 2;
$database_encoding 'CP1251';  
$realmd mysql_connect("$host:$port""$user""$pass"True);
mysql_selectdb("$db1"$realmd);
$world mysql_connect("$host:$port""$user""$pass"True);
mysql_selectdb("$db2"$world);
$characters mysql_connect("$host:$port""$user""$pass"True);
mysql_selectdb("$db3"$characters);
echo 
"
<script type=\"text/javascript\">
function isAlphaNumeric(value)
{
if (value.match(/^[a-zA-Z0-9_]+$/))
return true;
return false;
}
function checkform(f)
{
if (f.account.value == \"\")
{
alert(\"Введите логин\");
return false;
}
if (!isAlphaNumeric(f.account.value))
{
alert(\"Запрещенные символы в логине\");
return false;
}
if (f.password.value==\"\")
{
alert(\"Введите пароль\");
return false;
}
if (!isAlphaNumeric(f.password.value))
{
alert(\"Запрещенные символы в пароле\");
return false;
}
if (f.password2.value==\"\")
{
alert(\"Вы не ввели повтор пароля\");
return false;
}
if (f.password.value != f.password2.value)
{
alert(\"Пароли не совпадают\");
return false;
}
if (f.email.value==\"\")
{
alert(\"Вы не ввели e-mail\");
return false;
}
}
</script>"
;
echo 
"
<font color=#00CC00>
</font><br><br>
<center>
<form method=post action=register.php onsubmit=\"return checkform(this)\"> 
<table>
<tr>
<td>Login: <Br>
<input type=text name=account maxlength=20></td>
</tr>
<tr>
<td> Password:<Br>
<input type=password name=password maxlength=20></td>
</tr>
<tr>
<td> Confirm Password: <Br>
<input type=password name=password2 maxlength=20></td>
</tr>
<tr>
<td> e-mail:<Br> 
<input type=text name=email maxlength=32></td>
</tr>
<tr>
<td colspan=2 style=\"text-align: center;\"><br><input type=submit value=Зарегистрироваться></td>
</tr>
</table>
</form></center>"
;
if (isset(
$_POST['account'])) {
if (
$_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=&& strlen($_POST['password'])>=&& $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) {
if (!
eregi("^[a-zA-Z0-9_]+$"$_POST['account']))
die (
"<p>Error: SQL-Injection</p>");
if (!
eregi("^[a-zA-Z0-9_]+$"$_POST['password']))
die (
"<p>Error: SQL-Injection</p>");
$pass = ($_POST['password']);
$username = ($_POST['account']);
$result mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."' AND sha_pass_hash='$pass'"$realmd);
if (
mysql_num_rows($result)!= 0) {
echo 
"<center><p><font color=#CC0000><b>Такой аккаунт уже есть!</b></font></p></center>";
} else {
if (!
mysql_query("INSERT INTO account (username, sha_pass_hash, gmlevel, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass'))), 0, '".$_POST['email']."', $tbc)"$realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Аккаунт успешно зарегестрирован! </b></font></p></center>";}
}
} else {
echo 
"<center><p><font color=#CC0000><b>Проверьте правильность ввода!</b></font></p></center>";
}
}
?>
Это примерный скрипт регистрации аккаунта. Регистрация отличается тем, что в базу тут пароль в виде кодированого записывается - sha_pass_hash.
username - имя пользователя (аккаунт).
gmlevel - права пользователя.
email - почта.
expansion - тип аккаунта, ну там от игры зависит.

Мне нужно, чтобы регистрация проходила сразу по 3 моим проблемам, а авторизация только Joomla и Phpbb хотябы, ну можно и c wow если можно, а так и двух достаточно.

Но вот тут как будет записываться это всё в базу, представления не имею...
 
Старый 11.03.2010, 20:47
Ссылки
Старый 17.03.2010, 12:49   #2
Где-то был компонент синхронизации пользователей джумлы и PhpBB. Поищи, может поможет.

Здесь два варианта. Либо модифицировать движки для работы с одной таблицей, либо модифицировать модули регистрации и авторизации каждого движка так, чтобы при регистрации данные добавлялись сразу в три таблицы. Есть вариант, например, из джумлы, при регистрации нового юзера вызывать API-функцию регистрации PhpBB и наоборот (если все движки на одном домене).
 
Старый 17.03.2010, 12:49
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
совместимость растягивающегося фона с IE6 DeCa HTML, CSS, JavaScript 17 01.04.2010 19:33
метод в JS toSource() - совместимость с IE Anthony HTML, CSS, JavaScript 2 15.04.2009 22:51
Совместимость 3D-Max c Windows Vista Белый 3D-графика 3 04.10.2008 17:18


Текущее время: 05:44. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум