|
|
|
| Допустим есть страница с размещенными картинками, ссылки с картинок ведут на внешние сайты.
Нужен скрипт, который через определенное количество кликов посетителя на картинки, подставляет случайную ссылку из файла (null.txt).
Количество кликов должно опрелеляться случайным образом от 2 до 5. | |
|
|
|
|
|
|
|
для: dordoy
(18.05.2008 в 18:47)
| | Какова структура файла null.txt? | |
|
|
|
|
|
|
|
для: dordoy
(18.05.2008 в 18:47)
| | Предположим, что ссылка сначала ведет на php скрипт, а уже потом пересылает на нужный сайт, тогда. Ссылка будет выглядеть примерно так: http://mysite/count.php?site=адресс сайта.
Код count.php:
<?php
$count=$_COOKIE['count'] + 1;
setcookie('count', $count);
header ('location: site');
?>
|
Код на странице со ссылками:
<?
$rand=rand(2,5); // герерируем случайное число от 2 до 5
if ($rand=$_COOKIE['count']) // если оно равно тому которое в куках, то
{
$file=file('null.txt'); // открываем файл
foreach ($file as $str) // считываем ссылки в нем, если каждая расположена с новой строки
{
$site[]=$str; // пишем каждую ссылку в массив
}
$num_url=rand(0, count($site)); // определяем номер случайной ссылки
echo "<a href=\"{$site[$num_url]}\">".$site[$num_url]."</a>"; //формируем ссылку
}
?>
|
| |
|
|
|
|
|
|
|
для: SiM(R)
(19.05.2008 в 02:10)
| | Создал файл count.php
В файле null.txt с новой строки прописал несколько ссылок
Вставил код в страницу с картинками
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Случайная ссылка</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?
$rand=rand(2,5); // герерируем случайное число от 2 до 5
if ($rand=$_COOKIE['count']) // если оно равно тому которое в куках, то
{
$file=file('null.txt'); // открываем файл
foreach ($file as $str) // считываем ссылки в нем, если каждая расположена с новой строки
{
$site[]=$str; // пишем каждую ссылку в массив
}
$num_url=rand(1, count($site)); // определяем номер случайной ссылки
}
?>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td><a href="http://mysite/count.php?site=www.avto.ru" target="_blank"><img src="/pics/1.jpg" border=0></a></td>
<td><a href="http://mysite/count.php?site=www.avto1.ru" target="_blank"><img src="/pics/2.jpg" border=0></a></td>
<td><a href="http://mysite/count.php?site=www.avto2.ru" target="_blank"><img src="/pics/3.jpg" border=0></a></td>
<td><a href="http://mysite/count.php?site=www.avto3.ru" target="_blank"><img src="/pics/4.jpg" border=0></a></td>
<td><a href="http://mysite/count.php?site=www.avto4.ru" target="_blank"><img src="/pics/5.jpg" border=0></a></td>
</tr>
</table>
</body>
</html>
|
Не работает | |
|
|
|
|
|
|
|
для: dordoy
(19.05.2008 в 11:56)
| | нигде не вижу
<?
echo "<a href=\"{$site[$num_url]}\">".$site[$num_url]."</a>";
|
| |
|
|
|
|
|
|
|
для: KPETuH
(19.05.2008 в 12:02)
| | >нигде не вижу
>
<?
>echo "<a href=\"{$site[$num_url]}\">".$site[$num_url]."</a>";
|
куда вставить? | |
|
|
|
|
|
|
|
для: dordoy
(19.05.2008 в 12:12)
| | в то место где хотите увидеть случайную ссылку... | |
|
|
|
|
|
|
|
для: KPETuH
(19.05.2008 в 12:22)
| | Сорри слегка неправельно определил рэндом
<?
if ($_COOKIE['rand']>'5') setcookie('count', '0'); // если нажали больше 5 сылок, то возвращаем в ноль
if ($_COOKIE['rand']=='0')
{
$rand=rand(2,5); // герерируем случайное число от 2 до 5
setcookie('rand', $rand); // создаем куки, которые помнят сколько надо посетить ссылок до появления новой
$_COOKIE['rand']=$rand;
}
if ($_COOKIE['rand']==$_COOKIE['count']) // если оно равно тому которое в куках, то
{
$file=file('null.txt'); // открываем файл
foreach ($file as $str) // считываем ссылки в нем, если каждая расположена с новой строки
{
$site[]=$str; // пишем каждую ссылку в массив
}
$num_url=rand(1, count($site))-1; // определяем номер случайной ссылки
setcookie('count', '0');
setcookie('rand', '0');
echo "<a href=\"{$site[$num_url]}\">".$site[$num_url]."</a>";
}
?>
|
ps Данный скрипт будет работать, если будет перезагружаться страница, а у Вас все сслылки открывают новые окна, то есть эта страница обновляться не будет и соответственно не будет просчитывать скрипт. Для проверки на машине клиента необходимо писать скрипт на Java
<?php
$count=$_COOKIE['count'] + 1;
setcookie('count', $count);
header ("location: {$site}");
?>
|
| |
|
|
|