PHP重定向在网站内

时间:2012-03-08 07:05:38

标签: php wordpress redirect refresh

我连续3天尝试使用此代码,直到某个时间(分钟或秒),但无法解决问题。

我的目标是将访问者重定向到从文本文件中选择的10个随机网址。用户将在特定时间内看到某个页面,然后再次重定向到另一个页面,他将被重定向到的页面数完全是RANDOM。

问题:

问题是访问者没有被重定向到从文本文件中随机选择的任何其他页面,而只是刷新页面...但我想将他重定向到文本文件中的其他页面。希望你们现在了解我。

编辑:发现问题。实际上$ rand_link的值为NULL。{[0] => NULL}不知道为什么....解决方案?检查'BBnormalLinks.txt'文件以获取它的权限,并且该文件肯定有一些链接,因为我刚检查过它..

谢谢,

这是代码:

<?php // Generate Random Nubmers.. 2 ********
            $numbers2 = range(13,70);

            shuffle($numbers2);

            for ($j=0;$j<1;$j++)
            {
            $numbers2[$j];
            }
                $seconds = numbers2[0];

            //////// For Random URL of Site
            $links = file('BBnormalLinks.txt');
        $rand_link = $links[ mt_rand(0, count($links) - 1) ];                   

                header("refresh:". $seconds .";url=". $rand_link); ?>

3 个答案:

答案 0 :(得分:0)

从我对刷新标题的了解不多,它似乎不是最值得信赖的东西。 (我猜不是所有的浏览器都会对它做出回应。)由于您要显示内容,至少几秒钟,您可以尝试在JavaScript的window.location中使用window.setTimeout。如下所示:

$content = '<script type="text/javascript">window.setTimeout("window.location=\''.$rand_link.'\';", '.($seconds*1000).');</script>';

答案 1 :(得分:0)

语法是正确的,但是可能导致这种情况的一些指针是

  1. 在传递标题之前已经输出了一些文本。
  2. 未生成随机页面,因此一次又一次刷新同一页面。
  3. 我有一种非常强烈的感觉,即你的$rand_link返回空白或无效。


    更新

    经过几次讨论后,问题再次是邪恶的path

    $links = file('patotofile\BBnormalLinks.txt');
    

    如baburao113,引用

      

    我不得不将该文件移动到wordpress主题文件夹lol!问题已解决:)

答案 2 :(得分:0)

在不知道'BBnormalLinks.txt'的内容或$ rand_link的最终值的情况下,很难准确说出出现了什么问题。

您对file()mt_rand()的使用似乎是正确的,但您没有采取任何措施来确保您获得有效的网址。

这纯粹是猜想,但我怀疑你没有正确配置PHP来显示错误。如果文件无法加载,$ links将在倒数第二行中显示空值。然后,您将尝试访问空数组的元素0并接收空值。这将导致header('refresh:2;url='),您的页面将每2秒刷新一次。