Время:
Новых сообщений: Нет
Вы на форуме дней
Ваша группа: Гость
Ваш IP: 18.188.110.150
Logical-Portal — молодежный портал со своей изюминкой, каждый сможет найти что-то интересное и полезное для себя, например наш форум общения с которым вам обязательно нужно ознакомиться.
  • Страница 1 из 1
  • 1
Скрипт "Отображение контента по критерию"'
Сообщение оставлено 28.06.2012 в 20:38:14 | Сообщение #1

Описание данного скрипта:
В этом примере демонстрируется, как с помощью php-скрипта ограничить показ картинки в зависимости от возраста пользователя на вашем сайте, который пытается ее просмотреть. Для этого скрипт использует API системы uCoz. При нажатии на кнопку "Просмотреть фото" скрипт выполняет запрос о данных пользователя посредством API, сравнивает полученный возраст пользователя с критерием (должен быть не меньше 18 лет) и, в случае соответствия ему, отображает картинку. Интересный и довольно полезный скрипт.
Установка скрипта:
В шаблоне страницы:
Code
<div align="center">   
   <p>   
   <b>Данный пример демонстрирует использование скрипта для ограничения просмотра контента в зависимости от возраста</b>   
   </p>   
  </div>   
  <hr>   
  <?$PHPCODE$("http://phpexample.ucoz.net/php/example006/example006.php")?>

PHP скрипт example006.php:
Code
<?   
  if (count($_POST)>0)   
  {   
   $___notjson=1;   
   if (!$_uid=ucoz_getinfo("SITEUSERID"))   
   {   
   echo "$('#error').html('Невозможно идентифицировать пользователя')";   
   return;   
   }   
   $context = stream_context_create(array('http' => array('method' => "GET", 'header' => "Content-Type: text/xml",'timeout' => 8)));   
   $file = file_get_contents("http://phpexample.ucoz.net/api/index/8-$_uid", false, $context);   
   if (strpos('200', $http_response_header[0]) || !$file)   
   {   
   echo "$('#error').html('Не могу получить данные, попробуйте позже')";   
   return;   
   }   
   $response = xmlrpc_decode($file,"utf8");   
   if ($response && xmlrpc_is_fault($response))   
   {   
   echo "$('#error').html('Не могу получить данные, попробуйте позже')";   
   return;   
   }   
   if ((int)$response['USER_AGE']<18) echo "$('#error').html('Вы не можете просмативать данный материал, т.к. вам не исполнилось 18 лет')";   
   else   
   {   
   file_put_contents('allowedusers', "$_uid\n", FILE_APPEND);   
   echo "$('#error').html('<img height=\"480\" width=\"640\" src=\"/php/example006/getimg.php\">')";   
   }   
   return;   
  }   
  ?>   

  <div id='error'><b>Фото: мокрая киска</b><p>*внимание, просмотреть фото вы можете только, если вам испольнилось 18 лет</p></div>   
  <form action="/php/example006/example006.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">   
  <input type="hidden" name="none" value="1">   
  <p><input type="submit" value="Просмотреть фото"></p>   
  </form>

PHP скрипт getimg.php:
Code
<?   
  if (!$_uid=ucoz_getinfo("SITEUSERID")) return;   
  $lines=file('allowedusers');   
  $allow=0;   
  foreach ($lines as $line_num => $line)   
  {   
   trim($line);   
   if ($line==$_uid)   
   {   
   $allow=1;   
   unset($lines[$line_num]);   
   }   
  }   
  file_put_contents('allowedusers',$lines);   
  if (!$allow) return;   
  header('Content-Type: image/jpeg');   
  readfile("./example006.jpg");   
  ?>

Всё, теперь скрипт готов к использованию.
 
 
   
Сообщение оставлено 29.06.2012 в 09:56:20 | Сообщение #2
спасибо попробуем
 
 
   
Сообщение оставлено 28.10.2012 в 08:08:39 | Сообщение #3
Понятно, видел, на моем сайте стояло.
 
По всем вопросам писать в скайп «указан в профиле»
Я не даю унбан по просьбе личку или скайп, для этого есть ‘спец.тема’
Для того чтобы сделать предложение по форуму, можно обратиться ко мне (я передам выше) или в ‘спец.тему’
 
   
Сообщение оставлено 28.10.2012 в 20:42:38 | Сообщение #4
это типо если в твоем профиле установлен возраст меньше 18, то ты не сможешь просматривать это?
 
 
   
Сообщение оставлено 31.10.2012 в 10:23:17 | Сообщение #5
BloodJkeee, вроде да, там идут запросы на твой профиль
 

Костюм должен быть итальянский.
Машина немецкая.
Жена русская.
 
   
Сообщение оставлено 31.10.2012 в 15:24:02 | Сообщение #6
Clark, а если тупо поменять дату рождения :D
 
 
   
Сообщение оставлено 31.10.2012 в 16:13:03 | Сообщение #7
Зачем пхп? замуты какието) Проще было через информеры сделать, так как дата раждения выводится в любом месте, и это не составила бы труда. и без пхп.
 


[url=http://dowm.ru/][color=blue]
 
   
Сообщение оставлено 31.10.2012 в 16:40:36 | Сообщение #8
BloodJkeee, это нужно заходить в uNet профиль, а я не помню можно ли там менять или нет. В общем нужно постараться

ls2011, у информера есть свои минусы обновляется долго, да и мало функций можно сделать
 

Костюм должен быть итальянский.
Машина немецкая.
Жена русская.
 
   
Сообщение оставлено 31.10.2012 в 17:06:13 | Сообщение #9
Quote (Clark)
ls2011, у информера есть свои минусы обновляется долго, да и мало функций можно сделать

День рождение один раз в год, обновления хватит. :D или каждый день? :Q
 


[url=http://dowm.ru/][color=blue]
 
   
Сообщение оставлено 01.11.2012 в 06:35:53 | Сообщение #10
ls2011, ты меня не правильно понял)
 

Костюм должен быть итальянский.
Машина немецкая.
Жена русская.
 
   
Сообщение оставлено 01.11.2012 в 11:51:15 | Сообщение #11
Quote (Clark)
ls2011, ты меня не правильно понял)

Все правильно, он считывает также день рождения, и обновляется не так уж и быстро, а открыть раздел можно тока если 18 лет, он обновляет страницу и все. :Q
 


[url=http://dowm.ru/][color=blue]
 
   
  • Страница 1 из 1
  • 1
Поиск:
 
Графика от: Megas, GraFOS | Дизайн сверстал E.A.
Хостинг от uCoz
Яндекс.Метрика