zed_com

xp.php

Aug 22nd, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.78 KB | None | 0 0
  1. <?php
  2.     // Пример запроса на добавление экспы или получение ее текущего значения
  3.     // http://localhost/expupd.php?&auth=f92b3037ee&nick=Alex&action=add&value=10
  4.     // http://localhost/expupd.php?&auth=f92b3037ee&nick=Bob&action=add&value=-570
  5.     // http://localhost/expupd.php?&auth=f92b3037ee&nick=Bob&action=get
  6.    
  7.  
  8.     // Получаем переменные в GET запросе:
  9.     $username = htmlspecialchars($_GET['nick']);
  10.     $action = htmlspecialchars($_GET['action']);
  11.     $value = htmlspecialchars($_GET['value']);
  12.     $auth = htmlspecialchars($_GET['auth']);
  13.    
  14.     // Проверим пароль доступа к скрипту и и некоторые параметры запроса:
  15.    
  16.     $codeaccess = 'f92b30H3g7ee';
  17.     if ($auth !=  $codeaccess)  die ("Wrong auth");
  18.     // В имени пользователя могут быть только цифры, буквы и знак нижнего подчеркивания
  19.     if (!preg_match("/^[a-zA-Z0-9_]+$/", $username)) die("Bad login");
  20.     if ($action != 'set' and $action != 'get' and $action != 'add') die("Wrong action");
  21.    
  22.     // Параметры подключения к базе:
  23.     $host = 'localhost';
  24.     $user = 'zed'; // имя пользователя базы
  25.     $pass = '123456q'; //пароль к базе
  26.     $namebase = 'xp'; // имя базы
  27.     $table = 'xp'; // имя таблицы
  28.    
  29.     // Подключение к базе
  30.     $connect = mysql_connect($host, $user, $pass) or die('error connect');
  31.     mysql_select_db($namebase, $connect);
  32.     $sql = mysql_query("SELECT exp FROM $table WHERE nick = '$username'") or die (mysql_error());
  33.     $count = mysql_num_rows($sql);
  34.    
  35.     // Если такого пользователя нет еще в базе, создадим его, и присвоем значение опыта 0
  36.     if ($count == 0)
  37.     {
  38.         mysql_query("INSERT INTO $table (`nick`, `exp`, `lastaccess`) VALUES ('$username', '0', NOW())") or die (mysql_error());
  39.     }
  40.  
  41.     // Вернем значение опыта
  42.     if($action == 'get')
  43.     {
  44.         $sql = mysql_query("SELECT exp FROM $table WHERE `nick`='$username'") or die (mysql_error());
  45.         $data = mysql_fetch_array($sql);
  46.         echo $data['exp'];
  47.     }
  48.  
  49.     // Добавим или отнимем (если значение отрицательное) опыт
  50.     if($action == 'add')
  51.     {
  52.         mysql_query("UPDATE $table SET exp = exp + '$value' WHERE `nick`='$username'") or die (mysql_error());
  53.         echo 'OK';
  54.     }
  55.    
  56.     // Чит фича (установка конкретного значения опыта)
  57.     if($action == 'set')
  58.     {
  59.         mysql_query("UPDATE $table SET exp ='$value' WHERE `nick`='$username'") or die (mysql_error());
  60.         echo 'OK';
  61.     }
  62.  
  63.     // Закроем соединение с базой
  64.     mysql_close($connect);
  65. ?>
Advertisement
Add Comment
Please, Sign In to add comment