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

Готовые уроки IFrame + ВКонтакте API

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

Сообщение PUNISHER » 03 апр 2011, 17:38

блин, так конечно очень круто засорит ftp. а можно чтобы он записывал файлы reason_ban.txt & fine_ban.txt & ban.txt в отдельную папку ban :?: Тк я заядлый чистоплюй немогу видеть такой бардак у себя в FTP :P
PUNISHER

 
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



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

Сообщение PUNISHER » 03 апр 2011, 17:48

очень плохо кстате что когда нажимаешь кнопку оплатить то в этом же окне открывается надпись "На балансе приложения отсутствуют голоса"
Лучше бы окошко вылазило о необходимости пополнить
PUNISHER

 
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

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

Сообщение PUNISHER » 03 апр 2011, 17:54

и еще проблема. я поставил этот код

и баню пользователя на 5 голосов в сообщении забаненному выдается 50 голосов.Если забаню на 1 голос..ему покажут 10..... :|
PUNISHER

 
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

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

Сообщение Hail » 03 апр 2011, 21:36

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

 
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

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

Сообщение ukhov » 03 апр 2011, 21:37

PUNISHER писал(а):и еще проблема. я поставил этот код

и баню пользователя на 5 голосов в сообщении забаненному выдается 50 голосов.Если забаню на 1 голос..ему покажут 10..... :|

Попробуйте оплатить штраф в 1 голос, потом напишите здесь сколько сняли с Вас и сколько написали для оплаты штрафа.
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Автор темы
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

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

Сообщение ukhov » 04 апр 2011, 14:38

PUNISHER писал(а):блин, так конечно очень круто засорит ftp. а можно чтобы он записывал файлы reason_ban.txt & fine_ban.txt & ban.txt в отдельную папку ban :?: Тк я заядлый чистоплюй немогу видеть такой бардак у себя в FTP :P


file_put_contents не позволяет записывать в файлы, находящееся за пределами папки, в которой находится скрипт. Но можно передать через frame параметры скрипту, который находится в папке ban, другому скрипту, который находится в папке fine и т.д. или чтобы совсем не засорять ftp, лучше использовать mysql.
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Автор темы
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

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

Сообщение ukhov » 04 апр 2011, 14:52

PUNISHER писал(а):и еще проблема. я поставил этот код

и баню пользователя на 5 голосов в сообщении забаненному выдается 50 голосов.Если забаню на 1 голос..ему покажут 10..... :|


topic2320-20.html#p20970
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Автор темы
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

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

Сообщение ukhov » 04 апр 2011, 15:04

PUNISHER писал(а):очень плохо кстате что когда нажимаешь кнопку оплатить то в этом же окне открывается надпись "На балансе приложения отсутствуют голоса"
Лучше бы окошко вылазило о необходимости пополнить


payment_fine.php
Весь код замнеить на
  1. <?php
  2. ////
  3. //// Author Vlad & Alexandr © 2010-2011
  4. ////
  5.     $api_id = "ID приложения";
  6.     $api_key = "Защитный ключ приложения";
  7.     $auth_key  = $_GET['auth_key'];  // auth_key из FlashVars приложения
  8.     $user_id = $_GET['viewer_id']; // id просматривающего приложение
  9.     $viewer_id = $_GET['viewer_id'];
  10.  
  11.    
  12.  
  13. // вот это кусок списывания голоса
  14.     $f_v = file_get_contents("fine_ban$viewer_id.txt");
  15.     $f_v_c = bcdiv($f_v, 100);
  16.     $rand = rand();
  17.     $timestamp = time()+300;
  18.     $sig = md5("api_id=".$api_id."method=secure.withdrawVotes". "random=".$rand. "timestamp=".$timestamp. "uid=".$user_id. "v=2.0". "votes=$f_v".$api_key);
  19.     $postvars="api_id=".$api_id."&method=secure.withdrawVotes"."&random=".$rand."&timestamp=".$timestamp."&uid=".$user_id."&v=2.0"."&votes=$f_v"."&sig=".$sig;
  20.     $chp = curl_init('http://api.vkontakte.ru/api.php');
  21.     curl_setopt($chp, CURLOPT_HEADER,0);
  22.     curl_setopt($chp, CURLOPT_RETURNTRANSFER ,1);
  23.     curl_setopt($chp, CURLOPT_POST, 1);
  24.     curl_setopt($chp, CURLOPT_POSTFIELDS,  $postvars);
  25.     $res = curl_exec($chp);
  26.     curl_close($chp);
  27. // проверка есть ли голос у типа
  28.  
  29.     $num = strpos($res, "<error_code>502</error_code>"); // нет денег
  30.     if ($num<>"") { echo "
  31.  
  32. <script src='http://vkontakte.ru/js/api/xd_connection.js?2' type='text/javascript'></script> 
  33.  
  34. <script type='text/javascript' charset='cp1251' >
  35. window.onload = (function() {
  36.    VK.init(function() {
  37.        VK.api('getUserBalance', function(data) {
  38.            if (data.response < $f_v) {
  39.                VK.callMethod('showPaymentBox', $f_v_c);
  40.            }
  41.        });
  42.    });
  43. });
  44. </script>
  45.  
  46. <a href='payment_fine.php?viewer_id=$viewer_id&auth_key=$auth_key'>Оплатить</a>
  47.  
  48. "; return; }
  49.    
  50.     $num = strpos($res, "<transferred>");   // другие ошибки
  51.     if ($num=="") { echo "error"; return; }
  52.      
  53.      else {
  54.         // ОЛОЛО
  55.             echo 'Вы разблокированы! Пожалуйста, обновите страницу';
  56.            file_put_contents("ban$viewer_id.txt", '');
  57.             file_put_contents("fine_ban$viewer_id.txt", '');
  58.             file_put_contents("reason_ban$viewer_id.txt", '');
  59.  
  60.   $fp=fopen("ban$viewer_id.txt","a+"); //Открытие дескриптора файла пользователя на запись
  61.   if ($fp) {
  62.   flock($fp,2);
  63.   fwrite($fp,"0");
  64.   flock($fp,3);
  65.   fclose($fp);
  66.   }
  67.         }
  68. // конец
  69.  
  70. ?>
Последний раз редактировалось ukhov 04 апр 2011, 15:16, всего редактировалось 1 раз.
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Автор темы
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

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

Сообщение PUNISHER » 04 апр 2011, 15:07

заменил и теперь пишется почему то все время 0 голосов
А можно пример с использованием Mysql? ;)
PUNISHER

 
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20
Благодарил (а): 12 раз.
Поблагодарили: 0 раз.

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

Сообщение ukhov » 04 апр 2011, 15:17

PUNISHER писал(а):заменил и теперь пишется почему то все время 0 голосов
А можно пример с использованием Mysql? ;)

Где пишет? В окне ввода голосов или на странице уведомления о штрафе?
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Автор темы
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

Пред.След.

Вернуться в Уроки IFrame ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0