Автоматично пренасочване към различни страници

TheMarked

Registered
Здравейте,

Искам да ви попитам как да направя когато някой влезе на дадена страница да го пренасочва към друга, но искам да се въртят 2-3 линка към които да пренасочва, тоес на случаен принцип когато някой влезе на страницата да го пренасочва към някои от трите линка.Също така дали има възможност да се направи и статистика на това, колко души към кой линк ги е пратило?Ако може помощ ще съм много благодарен.
 
HTML:
<html>
    <head>
        <meta http-equiv="refresh" content="2; url=http://www.redirecturl.com">
    </head>
    <body>
        Redirecting you now...
    </body>
</html>

Като content="2 е след колко секунди да редиректне.
 
Здравей,

Аз искам да пренасочва към различни линкове, не само към 1.Искам като влезе някой да го да избира из няколко линка един и да го праща към него, като влезе друг към друг.
 
TheMarked каза:
Здравейте,
Искам да ви попитам как да направя когато някой влезе на дадена страница да го пренасочва към друга, но искам да се въртят 2-3 линка към които да пренасочва, тоес на случаен принцип когато някой влезе на страницата да го пренасочва към някои от трите линка.Също така дали има възможност да се направи и статистика на това, колко души към кой линк ги е пратило?Ако може помощ ще съм много благодарен.

PHP:
$sites = array('1'=>'page','page2','page3');
$current = $sites[rand(1,3)];
$filename = 'file.txt';
$next = '';
$put = '';
$success = false;
if(file_exists($filename)) {
	$info = file($filename,FILE_IGNORE_NEW_LINES);	
	if(!empty($info)) {
		$last = count($info) - 1;
		foreach($info as $key => $value) if($current == $value) $next = $key + 1;
		$info[$next] += 1;
		foreach($info as $key => $value) $put .= $key != $last ? $value."\n" : $value;
		file_put_contents($filename,$put);
		$success = true;
	}
	else echo 'Файла е празен!';	
}
else echo 'Не се създаден файл за статистика.';
if ($success) {
header('Location: '.$current);
exit; 
}

Създай си един текстов файл като зададеш името му в променливата $filename и в него запиши трите страници page,page2,page3 които съответстват от масива $sites така :


Код:
page
0
page2
0
page3
0

Сложи този код най-отгоре на страницата от която ще се пренасочва и си готов.Във файла под всяка страница ще се записва колко пъти се е пренасочвало към нея.
 
Здравей,

Използвах кода който ми даде и направих файла, но ви даде грешка при финкцията header location

Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/****/htdocs/ads.php:1) in /var/www/virtual/****/htdocs/ads.php on line 22
 
Аз не наразно ти казах да го поставиш най-отгоре, защото явно извеждаш нещо на екран преди него било то с echo или хтмл като по този начин се предполага че хедърите вече са изпратени и затова ти дава предупреждение.Трябва да си оправиш структурата на кода(едва ли разбираш за какво иде реч за да го направиш),или можеш да поставиш генерираната страница такакакто са дали по-горе:
HTML:
<html>
    <head>
        <meta http-equiv="refresh" content="2; url=http://<?php echo $current; ?>" />
    </head>
    <body>
        Redirecting you now...
    </body>
</html>

Естествено ако го направиш така частта от кода отпада :

PHP:
if ($success) {
header('Location: '.$current);
exit; 
}
 
Благодаря много!Работи, явно моята глава е изпуснала часта със слагането на кода най-отгоре, извинявам се за това!
Благодаря отново за помоща.
 

Back
Горе