Было нечего делать, вот что получилось за 2 часика работы!
Игра на баллы и подточена под JohnCMS!
Екран игры 240*320!
При поражении -2 балла, при победе +5 баллов!
Исходники ниже прилагаються, может комуто пригодиться...
Готов что то доработать!!!
Код помещаем в файл .../nap/online.php!
<?
if (!isset($_SERVER['HTTP_X_NAP_LOGIN']) || !isset($_SERVER['HTTP_X_NAP_PASS']) || !isset($_SERVER['HTTP_X_NAP_VERSION'])) {
echo 'Доступ закрыт!';
exit;
}
define('_IN_JOHNCMS', 1);
require_once ('../incfiles/core.php');
$login = $_SERVER['HTTP_X_NAP_LOGIN'];
$password = $_SERVER['HTTP_X_NAP_PASS'];
$vers = $_SERVER['HTTP_X_NAP_VERSION'];
$ball = $_SERVER['HTTP_X_NAP_BALL'];
$name = mysql_query("SELECT * FROM `users` WHERE `name_lat` = '".$login."'");
if (mysql_num_rows($name) < 1) {
echo 3;
} else {
$pass = mysql_result(mysql_query("SELECT `password` FROM `users` WHERE `name_lat` = '".$login."'"), 0);
if ($password != $pass) {
echo 2;
} else {
$userbase = mysql_fetch_assoc(mysql_query('SELECT `id`, `password` FROM `users` WHERE `name_lat`=\'' . functions::rus_lat(mb_strtolower($login)) . '\' LIMIT 1'));
$userbase['ban'] = mysql_result(mysql_query('SELECT count(`id`) FROM `cms_ban_users` WHERE `user_id`=\'' . $userbase['id'] . '\' && `ban_time` != `ban_while` && `ban_time` > ' . time()), 0);
if ($userbase['ban']) {
echo 5;
} else {
if($vers == 'no') {
$res = mysql_result(mysql_query("SELECT `balans` FROM `users` WHERE `name_lat` = '".$login."'"), 0);
echo $res;
} else if($vers == 'yes') {
mysql_query("UPDATE `users` SET `balans` = '".$ball."' WHERE `name_lat` = '".$login."'");
echo 'Vu ygadali! Vash balans teper - '.$ball.'!';
} else if($vers == 'no_1') {
mysql_query("UPDATE `users` SET `balans` = '".$ball."' WHERE `name_lat` = '".$login."'");
echo 'Vu ne ygadali! Vash balans teper - '.$ball.'!';
}
}
}
}
?>
ох надо протестировать , вроде крутая вещь
Кто может поправить скрипт в плане защиты - поправьте, буду благодарен!
ROM, ну, всё что ты из заголовков получаешь и используешь в sql - нужно отфильтровать: для строковых значенний - mysql_real_escape_string, для целых чисел - intval.
+5,
Такие баги:
-любая клавиша отправляет даные на сервер.
Пжл. Измени коды клавиш на "в лево" "вверх" "в право" у мя на сенсоре нет 1,2,3
ROM, я бы посоветовал вместо echo 3 писать функцию с несколькими return , 1 - true 0 - false , то что более одного как код ошибки
Обновил игру! Исправил мелкие баги... На сенсорах используем стрелочки для управления...
ROM, спасиб, шас посмотрим