Страница 3 из 5

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

Добавлено: 03 апр 2011, 11:41
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 = "ключ приложения"; 
Если после этого будет ошибка - пишите.

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

Добавлено: 03 апр 2011, 11:51
Hail
ЩАс пишет error!

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

Добавлено: 03 апр 2011, 11:53
ukhov
Hail писал(а):ЩАс пишет error!
В этом файле только что нашёл ошибку

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

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

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

    $user_id = $_GET['viewer_id']; // id просматривающего приложение
и всё заработает, больше не должно быть ошибок, уверен на 99%

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

Добавлено: 03 апр 2011, 12:01
ukhov
Архив с файлами без ошибок (рабочий), с инструкцией: http://readyhw.ru/ban.zip
Пароль: readyhw.ru

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

Добавлено: 03 апр 2011, 12:15
Hail
Теперь всё отлично работает Спасибо!!!

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

Добавлено: 03 апр 2011, 14:40
Hail
ещё вопросик такого плана как сделать чтоб он штраф отображал не в таком формате "Штраф: 1000.01 голосов", а в таком "Штраф: 1 голос"

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

Добавлено: 03 апр 2011, 15:10
ukhov
ban_inf.php
Найти:

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

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

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

$fine = file_get_contents("fine_ban$viewer_id.txt");

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

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

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

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

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

echo bcdiv($fine, 100, 0);

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

Добавлено: 03 апр 2011, 15:18
Hail
Спасибо!

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

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