2011-10-11 52 views
0

我想知道如何在第一次有人访问我的页面时将随机查询字符串附加到URL的末尾。例如,假设有人导航到我的网站www.example.com。如果一切按计划进行,他们会打我的index.php文件,地址栏中的URL将为www.example.com,并且所有内容都将变得晦涩难懂。在页面加载之前使用PHP附加到URL

不过,我想是当这个人类型www.example.com到他们的地址栏和命中去,他们都到了我的index.php文件,但该网址更改为:

www.example.com/?fromdatabase=randomthing

我有数据库所有设置,我可以从它得到随机值没有问题,问题是更改URL,以便随机值附加在页面加载之前。

回答

2

添加到您的index.php的开始

<?php 
if(empty($_GET['fromdatabase'])) 
{ 
die(header('Location: http://www.example.com/?fromdatabase=randomthing')); 
} 
?> 

问候, Fredyy

+0

太棒了!现在可能会突然出现:'位置: http://www.example.com/?fromdatabase=randomthing' 并且使用如下变量: '位置:http://www.example.com/ ?fromdatabase ='+ $ row [0] –

+1

'header('Location:example.com/?fromdatabase ='。$ row [0]);' – Hailwood

+0

你是这里真正的英雄,Hailwood。 TY –

2

如果没有查询字符串,您可以重定向用户。

例如:

if(!isset($_GET['fromdatabase'])) 
{ 
    header('location: index.php?fromdatabase=randomthing'); 
    exit; 
} 

然而,它没有太大的意义。为什么要将用户重定向到不同的网址,您只需在索引中显示内容即可。

+1

但要注意的是,如果你已经__nothing__浏览器输出这只会工作,或者如果输出缓冲(HTTP ://www.php.net/manual/en/book.outcontrol.php)被充分设置。 – Hailwood

+0

我正试图让新的facebook打开图工作。我有一个单独的PHP页面(index.php),每次重新加载页面时都会提供随机链接到饮料配方。如果用户点击该链接并获得了许可,它会将饮料过帐到他们的时间表。问题是,因为URL每次都是相同的(index.php),第一次任何饮料被发布到Facebook,Facebook会缓存任何关于该饮料的开放图形信息,并且每当其他人点击并提交不同的饮料时到他们的时间表,facebook使用chached信息而不是新的开放图形信息。 –

+0

如果我每次在Facebook的末尾添加一个不同的查询字符串到Facebook,它看起来像我有100个不同的页面,因此100个不同的开放图形对象,实际上,我只有一个页面,有100个不同的页面对象。 –

相关问题