• Страница 1 из 1
  • 1
Скрипт Отображение контента по критерию для ucoz (php script
@V@sTДата: Четверг, 28.04.2011, 20:27 | Сообщение # 1

Сообщений: 318
Награды: 0

[ 25 ]


В этом примере демонстрируется, как с помощью 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");     
?>



[Грамотей]

  • Страница 1 из 1
  • 1
Поиск:

Статистика Форума
Активные пользователи
Уважаемые пользователи
Популярные темы
Недавно обновленные темы

Все материалы размещенные на сайте пренадлежат их владельцам и предоставляются исключительно в ознакомительных целях.
Администрация ответственности за содержание материала не несет и убытки не возмещает.
По истечении 24 часов материал должен быть удален с вашего компьютера.Фаил скачен с 1-server.net.ru