Download Soft, новинки софта, оформление ПК, скрипты для ucoz, литература
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Все для uCoz » PHP скрипты для uCoz » Скрипт Отображение контента по критерию для uCoz
Скрипт Отображение контента по критерию для uCoz
ZheReBiLoДата: Среда, 01.06.2011, 23:55 | Сообщение # 1
Нет аватара
Сталкер


Сообщений: 147


Репутация: 1010

Замечания: 0%

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


Не говори Богу, что у тебя есть проблема, повернись к проблеме и скажи, что у тебя есть Бог.
 
Форум » Все для uCoz » PHP скрипты для uCoz » Скрипт Отображение контента по критерию для uCoz
  • Страница 1 из 1
  • 1
Поиск:

Статистика Форума
Последние темы Популярные темы Самые активные Новые пользователи
Профиль для ucoz в нижнем правом углу сайта [2]

Красивый информер для файлов ucoz [0]

Уведомления о регистрации для ucoz [0]

Форма входа на uCoz [0]

Новый Топ пользователей с аватарами для Ucoz [0]

Простой и красивый вид формы опроса [0]

Красивый информер "кто нас сегодня посетил" для Ucoz [0]

Flash радио для сайта [0]

Вид Дополнительной информации на форуме [1]

Новый информер комментарии для ucoz как на Dle [0]

Профиль для ucoz в нижнем правом углу сайта [2]

Вид Дополнительной информации на форуме [1]

От нового владельца [1]

Какой жанр музыки Вам нравится? [1]

Красивый информер для файлов ucoz [0]

Уведомления о регистрации для ucoz [0]

Форма входа на uCoz [0]

Новый Топ пользователей с аватарами для Ucoz [0]

Простой и красивый вид формы опроса [0]

Красивый информер "кто нас сегодня посетил" для Ucoz [0]

ZheReBiLo [147]

Aninew [8]

MyLife [7]

Lookflaco [6]

laym [4]

startsmart [4]

Meetwoor [4]

Onlines [4]

EvG [1]

Apis [1]

clopix [20.12.2017 | 17:30]

alekseyyrkov0594 [04.12.2017 | 20:55]

andrey7600 [06.11.2017 | 01:44]

volidemar [14.01.2017 | 21:43]

mrvolkov490 [29.11.2016 | 07:14]

Koba [02.06.2016 | 22:51]

pavliv2000 [09.04.2016 | 00:28]

aljbatross8 [20.02.2016 | 17:32]

saratoff [05.02.2016 | 03:22]

vit220675 [22.10.2015 | 20:27]