I-frame Списывание голоса у пользователя

Вот как делал я:
Тут пользователь вводит вивер айди, и с этого айди снимаются голоса. После снятия голосов за каждый начисляется +1000 игровой валюты в базу данных. + Ведение статистики. Записываются все удачные и не удачные транзакции. Если успешно то все данные - сколько ввело, сколько добавило вводятся в бд. Если не успешно - в бд записываются вьювер айди и статус ok=0;

Делаем запрос в mysql:

Код
CREATE TABLE IF NOT EXISTS `logs_add_mattery` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` text NOT NULL,
  `mattery` text NOT NULL,
  `date` text NOT NULL,
  `ok` text NOT NULL,
  `votes` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Файл pay.html

Код
<div id="content" align="center">
    <table width="668">
    <tr>
 
        <td style="text-align:left" class=b>
   
 
<form action = "http://site.ru/game2/pay.php" method = "post"> 
 
<center>Нажмите "Настройки" над приложением. Введите нужное кол-во голосов. Заполните поля ниже. Курс: 1 000 игровой валюты - 1 голос. <br /> <br /> 
 
 
<center><b>Кол-во голосов:</b><br /> 
 
<input name="vote" id="vote"><br> 
 
<b>Ваш айди:</b><br /> 
 
<input name="viewer_id" id="viewer_id">
<input name="auth_key" id="auth_key"  type="hidden">
<input type="submit" value="Купить"> 
 
</form>
</td>
    </tr>
    
<table>
</div>

Файл pay.php

Код
<?
require('VkApi.class.php');
 
$db_host="localhost";       
$db_user="dbuser";      
$db_password="dbpass";      
$db_name = "dbname";
$table_name = "tablename";    
 
mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
mysql_query("SET NAMES 'utf8'"); 
 
$app_id = 'апи айди';            
$api_secret = 'апи секрет';    
 
$auth_key  = $_POST['auth_key'];  
$viewer_id = $_POST['viewer_id']; 
$vote = $_POST['vote']; 
 
$real_key = md5($app_id."_".$viewer_id."_".$api_secret);
 
//if ($auth_key == $real_key){
 
function get_url($query) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $query);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
return curl_exec($ch);
curl_close($ch);
}
$api = new VkApiNode($app_id, $api_secret);
$query = $api->getBalance($viewer_id);
$user_balance = new SimpleXMLElement(get_url($query));
if($vote>0)
{
$vote2=$vote*100;
}
if ($user_balance->balance >=$vote2 && $vote>0) {
get_url($query = $api->withdrawVotes($viewer_id, $vote2));
$scores=1000*$vote;
$query2 = 'UPDATE название_таблицы_куда_мы_прибавим за каждый_голос_1000 SET score=score+"'.$scores.'" where `username` ="'.$viewer_id.'"'; 
$sql2 = @mysql_query($query2);
 
$ok="1";
$query3 = 'INSERT INTO logs_add_mattery  (`username`, `mattery`, `date`,`ok`,`votes`) VALUES ("'.$viewer_id.'","'.$scores.'","'.time().'","'.$ok.'","'.$vote.'")';
    $sql3 = @mysql_query($query3);
 
header("Location: /game.php?page=pay");
exit();
} else
{ echo "На вашем счету недостаточно голосов <br />"; 
echo "На вашем счету: ";
echo "not enough votes" + $user_balance->balance;
echo " голосов";
 
 
$ok2="0";
$query6 = 'INSERT INTO logs_add_mattery  (`username`, `mattery`, `date`,`ok`) VALUES ("'.$viewer_id.'","'.$scores.'","'.time().'","'.$ok2.'")';
    $sql6 = @mysql_query($query6);
}
//} else echo "incorrect sig";
?>
Добавлено: 16 Августа 2013 03:36:04 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...