Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

[PHP] For saite - Форум

  • Сторінка 1 з 1
  • 1
[PHP] For saite
SHadowCoreДата: Понеділок, 20.12.2010, 21:52 | Сообщение # 1



SHadowCore
Скаут
Группа: Пользователи
Сообщений: 17

Замечания:

Оффлайн
Приготовил для вас пару [PHP] скриптов.

Начнем с легкого:
1) Следующие начисление АП:
Code
<?php  
mysql_connect("localhost","username","password");  
mysql_select_db("characters");  
date_default_timezone_set("UTC"); //Указать свой часовой пояс  
$result = mysql_query("SELECT `value` FROM `worldstates` WHERE `entry` = 20001");  
$data = mysql_fetch_array($result);  
echo "Время следующего начисления Arena Points: " .date("d-m-Y H:i:s", $data['value']);  
?>

2)Регистрация + Каптча:
Разделил регу и каптчу

Рега:

Code
<?php  
$tbc = 2;     
$realmd = mysql_connect("$host:$port", "$user", "$pass", True);     
mysql_selectdb("$dbr", $realmd);     

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=index.php?id=reg onsubmit=\"return checkform(this)\">     
<table>     
<center>     
<tr>     
</tr><td><b><font color=white>*Логин:</font></b></td>     
<td><input type=text name=account maxlength=20></td>     
</tr>     
<center>     
<tr>     
<td><b><font color=white>*Пароль:</font></b></td>     
<td><input type=password name=password maxlength=20></td>     
</tr>     
<tr>     
<td><b><font color=white>*Повторите пароль:</font></b></td>     
<td><input type=password name=password2 maxlength=20></td>     
</tr>     
<center><tr>     
<td><b><font color=white>*E-mail:</font></b></td>     
<td><input type=text name=email maxlength=32></td>  
</tr>     
<tr>     
<td><b><font color=white>*Тип игры:</font></b></td>     
<td><select name=\"expansion\">  
        <option value=\"0\">ВоВ классик</option>  
        <option value=\"1\">ВоВ БК</option>  
        <option value=\"2\">ВоВ ЛК</option>  
</select></td>  
</tr>     
<tr>     
<td><img src=\"img.php\" alt=\"\"/></td>     
<td><input type=text name=\"code\" 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 ($_COOKIE['reg_num'] != $_POST['code']) {echo "Не верный цифровой код!";exit;}      
if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_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>");     
$pass1 = ($_POST['password']);     
$username = ($_POST['account']);     
$result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."' AND sha_pass_hash='$pass1'", $realmd);     
if (mysql_num_rows($result) != 0) {     
echo "<center><p><font color=#CC0000><b>Такой аккаунт уже есть!</b></font></p></center>";     
} else {     
$tbc=(int)$_POST['expansion'];  
if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass1'))), '".$_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>";     
}     
}     

?>

Каптча:

Code
<?php    
header("Content-type: image/png");    

srand((double)microtime()*1000000);    

$num = rand('111111','999999');     

setcookie('reg_num', $num);     

$img = imagecreate('50','15');     
$back = imagecolorallocate($img, 74, 105 ,207);     
$black = imagecolorallocate($img, 255,255, 255);     
imageline($img, 0, 0, 49, 0, $black);     
imageline($img, 0, 0, 0, 14 , $black);     
imageline($img, 0, 14, 49, 14 , $black);     
imageline($img, 49, 0, 49, 14 , $black);     
imagestring($img,3,5,0,$num,$black);     

imagepng($img);    

?>

ГМ Online:

Code
<html>             
<body>             
                       <table border = "1" align = "center">             
                    <tr>             
                    <td>Ник</td>             
                    <td>Расса</td>             
                     <td>Класс</td>             
                    <td>Уровень доступа</td>             
                    </tr>                      
<?php             

                           /**             
                             * @author [Desperado]             
                             * @copyright 2010             
                            */             
                  

                       mysql_connect("$localhost", "$db_user", "$db_user_passw"); //соединяемся с базой MySQl             
                       mysql_query("SET character_set_database = '$charset'");  //устанавливаем кодировку             
                       mysql_query("SET NAMES '$charset'");  //устанавливаем кодировку             
                    
                         $content = mysql_query ("select c.name, c.class, c.race, a.gmlevel from characters.characters c inner join realmd.account             
                         a on a.id=c.account where a.gmlevel != 0 and c.online = 1");      //достаём нужные данные             
                         $online = mysql_num_rows($content);             
                      
                     /**             
                          * мутим обработку данных из массива             
                          */                           
                        
                    $class = array(1=>"Воин",2=>"Паладин",3=>"Охотник",4=>"Разбойник",5=>"Жрец",             
                          6=>"Рыцарь Смерти",7=>"Шаман",8=>"Маг",9=>"Чернокнижник",11=>"Друид");                            
                    $race = array(1=>"Человек",2=>"Орк",3=>"Дворф",4=>"Ночной Эльф",5=>"Нежить",6=>"Таурен",7=>"Гном",8=>"Тролль",             
                          10=>"Эльф Крови",11=>"Дреней");             
                    $gmlevel = array(1=>'Модератор',2=>'Хелпер',3=>'Гейм Мастер',4=>'Администратор');             
                    
                     /**             
                          * если гм нет, выводим неприличное сообщение             
                          */                             
                          
                     if($online < 1) {             
                     echo "<tr><td colspan='4' align='center'>Нет гм, вошедших в игру</td></tr>";             
                     }                             
                            
                             /**             
                          * если гм есть, выводим другое неприличное сообщение             
                          */                            
                            
                            
                            while ($row = mysql_fetch_array($content))                            
                     {             
                       $name = $row['name'];             
                           echo "<tr><td><b>{$name}</b></td>";  //выводим ник Гм             
                           echo "<td><b>{$race[$row['race']]}</b></td>";  //Выводим рассу             
                           echo "<td><b>{$class[$row['class']]}</b></td>"; //Выводим класс             
                           echo "<td><b>{$gmlevel[$row['gmlevel']]}</b></td></tr>"; //Выводим уровень доступа             
                      }                            

?>             
</table>             
</body>                    
</html>

Как же без Статистики? happy

Code
<b> О Сервере <font size = 3 color = red>Ваше название сервера</font></b><br>  
<?  
mysql_connect ("$dbip:$dbport","$dblogin","$dbpass");  
?>  
<?  
mysql_selectdb ("$cdb");  
$online = mysql_query ("select count(*) from characters where online = 1");  
$online = mysql_result ($online,0);  
$allianceonline = mysql_query ("select count(*) from characters where online = 1 and race in  
(1,3,4,7,11)");  
$allianceonline = mysql_result ($allianceonline,0);  
$hordeonline = mysql_query ("select count(*) from characters where online = 1 and race in  
(2,5,6,8,10)");  
$hordeonline = mysql_result ($hordeonline,0);  
mysql_selectdb ("$rdb");  
$max = mysql_query ("select max(`maxplayers`) from uptime");  
$max = mysql_result ($max,0);  
echo "Игроков Онлайн:<font size = 3 color = red><b> $online</b></font><br>";  
echo "Альянса Онлайн:<font size = 3 color = red><b> $allianceonline</b></font><br>";  
echo "Орды Онлайн:<font size = 3 color = red><b> $hordeonline</b></font><br>";  
?>  

<?  
mysql_select_db ("$rdb");  
$uptime = mysql_query ("select max(`starttime`) from `uptime`");  
$uptime = time()-mysql_result ($uptime,0);  
$sec = $uptime%60;  
$uptime = intval ($uptime/60);  
$min = $uptime%60;  
$uptime = intval ($uptime/60);  
$hours = $uptime%24;  
$uptime = intval($uptime/24);  
$days = $uptime;  
echo "<font size = 3 color = red>Время Работы</font>: $days д $hours ч $min м $sec с<br>";  
?>  
<?  
mysql_selectdb ("$rdb");  
$max = mysql_query ("select max(`maxplayers`) from uptime");  
$max = mysql_result ($max,0);  
echo "<b>Максимальный <font color=red> Онлайн:</b> <font size = 3 color = Yellow><b>$max</b></font><br><br><br>";  
?>


Самое главное - это конфиг!

Code
<?      
$ip             ="127.0.0.1";           // IP сервера      
$dbip           ="127.0.0.1";           // IP mysql      
$dbport         ="3306";                // порт mysql      
$gameport       ="8085";                // игровой порт      
$dblogin        ="login";               // логин mysql      
$dbpass         ="password";            // пароль mysql      
$mdb            ="world";              // название базы world   
$rdb            ="realmd";              // название базы realmd(auth)      
$cdb            ="characters";          // название базы characters      
?>

Смотрим время работы сервера:

Code
<?      
mysql_select_db ("$rdb");      
$uptime = mysql_query ("select max(`starttime`) from `uptime`");      
$uptime = time()-mysql_result ($uptime,0);      
$sec = $uptime%60;      
$uptime = intval ($uptime/60);      
$min = $uptime%60;      
$uptime = intval ($uptime/60);      
$hours = $uptime%24;      
$uptime = intval($uptime/24);           
$days = $uptime;      
echo "Время Работы: $days д $hours ч $min м $sec с<br>";      
?>

Чат(хз, чат писал не я, тестаните)

Многие скрипты написаны мной и некоторые взяты с разных сайтов. Спасибо за внимание.

P.s Прошу привязать тему, скрипты буду обновлять

Добавлено (20.12.2010, 21:52)
---------------------------------------------
http://www.wow-info.net/forum/65-505-1

Посмотрел и понял, что приопаздал я....СОри, тему в топку тогда. Но у него тупо копипаст с вовжопе

 
InuyashaДата: Середа, 22.12.2010, 20:01 | Сообщение # 2



Inuyasha
Капрал
Группа: Пользователи
Сообщений: 76

Замечания:

Оффлайн
Переименнуй в подходящее название, например "Необходимые скрипты для сайта"
И в конце поставь, "Взято с wowjp" И попроси что бы прикрепили тему


 
SHadowCoreДата: Четвер, 23.12.2010, 12:35 | Сообщение # 3



SHadowCore
Скаут
Группа: Пользователи
Сообщений: 17

Замечания:

Оффлайн
Inuyasha, Взято с wowjp не буду так как там мои темы biggrin
 
pro[100]DeadlyДата: П`ятниця, 24.12.2010, 17:01 | Сообщение # 4



pro[100]Deadly
Группа: Видалені

Замечания:






SHadowCore smile
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz