【问题标题】:How can I make a link load a random php ID on the page?如何使链接在页面上加载随机的 php ID?
【发布时间】:2012-04-17 20:54:13
【问题描述】:

数据库行 ID 与 URL 相关联,如下所示:

第 2 行 的页面变为 site.com/index.php?id=2

如果我手动刷新index.php会显示一条随机记录,但地址栏自然不会显示记录ID。

有没有办法让链接在地址栏显示id变化的同时显示随机记录?

感谢您的帮助!

【问题讨论】:

    标签: php mysql html refresh


    【解决方案1】:

    不只是显示随机记录,而是选择记录的 id 并重定向到显示 id 的版本。

    $randomId = // whatever method you use to choose it
    header( "Location: http://site.com/index.php?id=$randomId" );
    

    【讨论】:

    • 基托克西亚,Juhana。这很好用(因为最终会在 URL 栏中显示一个随机 ID),但是当我运行它并且页面未加载时,它会导致重定向循环 (310)。你知道如何纠正这个吗?谢谢!
    • 确保仅在未指定 id (!isset( $_GET[ 'id' ] )) 时进行重定向。
    【解决方案2】:

    有多种方法可以做到这一点。

    您可以像 Juhana 所说的那样使用 the header function。这将通过 pagereloading 将您重定向到另一个页面。

    您可以使用 HTML5 更改地址栏,而无需使用 window.historyjQuery for AJAX 重新加载页面。

    最安全的选择是 PHP 标头函数。请记住,在标题之前不要打印/回显任何内容。如果您仍然收到“标头已发送”,请使用 ob_clean()

    【讨论】:

      【解决方案3】:

      试试这个:

      $randomId = rand(0,100); // if let's say your post IDs go from 0 to 100
      header( "Location: http://www.yourdomain.com/post.php?id=$randomId" );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        • 2011-11-06
        • 1970-01-01
        • 2012-12-14
        • 2020-07-26
        相关资源
        最近更新 更多