Простой бан на PHP без использования MySQL

Готовые уроки IFrame + ВКонтакте API
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Простой бан на PHP без использования MySQL

Сообщение ukhov »

Это я знаю. Там ошибка в коде с include.
payment_fine.php
Весь код заменить на

Код: Выделить всё

<?php//////// Author Vlad  © 2010////    $api_id = "id приложения";     $api_key = "ключ приложения";     $auth_key  = $_GET['auth_key'];  // auth_key из FlashVars приложения    $user_id = $_GET['user_id']; // id просматривающего приложение    $viewer_id = $_GET['viewer_id'];      // вот это кусок списывания голоса    $f_v = file_get_contents("fine_ban$viewer_id.txt");    $rand = rand();    $timestamp = time()+300;    $sig = md5("api_id=".$api_id."method=secure.withdrawVotes". "random=".$rand. "timestamp=".$timestamp. "uid=".$user_id. "v=2.0". "votes=$f_v".$api_key);    $postvars="api_id=".$api_id."&method=secure.withdrawVotes"."&random=".$rand."&timestamp=".$timestamp."&uid=".$user_id."&v=2.0"."&votes=$f_v"."&sig=".$sig;    $chp = curl_init('http://api.vkontakte.ru/api.php');    curl_setopt($chp, CURLOPT_HEADER,0);    curl_setopt($chp, CURLOPT_RETURNTRANSFER ,1);    curl_setopt($chp, CURLOPT_POST, 1);    curl_setopt($chp, CURLOPT_POSTFIELDS,  $postvars);    $res = curl_exec($chp);    curl_close($chp);// проверка есть ли голос у типа     $num = strpos($res, "<error_code>502</error_code>"); // нет денег    if ($num<>"") { echo "На балансе приложения отсутствуют голоса"; return; }        $num = strpos($res, "<transferred>");   // другие ошибки    if ($num=="") { echo "error"; return; }           else {        // ОЛОЛО            echo 'Вы разблокированы! Пожалуйста, обновите страницу';           file_put_contents("ban$viewer_id.txt", '');            file_put_contents("fine_ban$viewer_id.txt", '');            file_put_contents("reason_ban$viewer_id.txt", '');   $fp=fopen("ban$viewer_id.txt","a+"); //Открытие дескриптора файла пользователя на запись  if ($fp) {  flock($fp,2);  fwrite($fp,"0");  flock($fp,3);  fclose($fp);  }        }// конец  ?>
Не забудьте поставить свои значения где

Код: Выделить всё

    $api_id = "id приложения";     $api_key = "ключ приложения"; 
Если после этого будет ошибка - пишите.
Hail
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21

Re: Простой бан на PHP без использования MySQL

Сообщение Hail »

ЩАс пишет error!
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Простой бан на PHP без использования MySQL

Сообщение ukhov »

Hail писал(а):ЩАс пишет error!
В этом файле только что нашёл ошибку

Код: Выделить всё

    $user_id = $_GET['user_id']; // id просматривающего приложение
Заменить на

Код: Выделить всё

    $user_id = $_GET['viewer_id']; // id просматривающего приложение
и всё заработает, больше не должно быть ошибок, уверен на 99%
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Простой бан на PHP без использования MySQL

Сообщение ukhov »

Архив с файлами без ошибок (рабочий), с инструкцией: http://readyhw.ru/ban.zip
Пароль: readyhw.ru
Hail
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21

Re: Простой бан на PHP без использования MySQL

Сообщение Hail »

Теперь всё отлично работает Спасибо!!!
Hail
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21

Re: Простой бан на PHP без использования MySQL

Сообщение Hail »

ещё вопросик такого плана как сделать чтоб он штраф отображал не в таком формате "Штраф: 1000.01 голосов", а в таком "Штраф: 1 голос"
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Простой бан на PHP без использования MySQL

Сообщение ukhov »

ban_inf.php
Найти:

Код: Выделить всё

$fine = include("fine_ban$viewer_id.txt");
Заменить на

Код: Выделить всё

$fine = file_get_contents("fine_ban$viewer_id.txt");
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Простой бан на PHP без использования MySQL

Сообщение ukhov »

Hail писал(а):ещё вопросик такого плана как сделать чтоб он штраф отображал не в таком формате "Штраф: 1000.01 голосов", а в таком "Штраф: 1 голос"
ban_inf.php
nayti

Код: Выделить всё

echo bcdiv($fine, 100, 2);
zamenit na

Код: Выделить всё

echo bcdiv($fine, 100, 0);
Hail
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21

Re: Простой бан на PHP без использования MySQL

Сообщение Hail »

Спасибо!
Hail
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21

Re: Простой бан на PHP без использования MySQL

Сообщение Hail »

Я уж наверно достал!!! Извиняюсь конечно но как сделать так чтоб тот человек который забанен, можно было устанавливать время бана и штраф если он не может оплатить штраф то придется ждать время истечения бана!!! Заранее благодарен!!!
Ответить