【问题标题】:ajax style page reload with $_SERVER["PHP_SELF"] and a switch statement使用 $_SERVER["PHP_SELF"] 和 switch 语句重新加载 ajax 样式页面
【发布时间】:2014-05-06 17:59:32
【问题描述】:

我正在帮助一位朋友处理她的网页,但我似乎无法理解路由。 所以这个网页是几年前用php写的。

基本上,有这样的东西:

<li><a href="<? echo $_SERVER["PHP_SELF"]; ?>?goto=start">Startseite</a></li>
<li><a href="<? echo $_SERVER["PHP_SELF"]; ?>?goto=objekte">Objekte</a></li>
<li><a href="<? echo $_SERVER["PHP_SELF"]; ?>?goto=nachfrage">Wir suchen</a></li>
<li><a href="<? echo $_SERVER["PHP_SELF"]; ?>?goto=angebot">Sie bieten an</a></li>
<li><a href="<? echo $_SERVER["PHP_SELF"]; ?>?goto=kontakt">Kontakt</a></li

稍后在 php 页面中使用 switch 语句:

 <?
switch ($goto) {
    case "start":
        include("./startseite.inc.php");
    break;
    case "jobs":
        include("./jobs.inc.php");
    break;
    ....
    default:
        include("./startseite.inc.php");
    break;
?>

现在,当我在本地运行此程序时,单击链接不会重新加载任何内容,这让我相信它与路由规则有关。我不是 php 程序员,所以我不知道这是否是一种有效的技术。

有人可以向我解释/指出正确的方向,即 url 的 gotowww.site.com/index.php?goto=something,如何解析为 $goto 变量php代码

附:在第一次访问页面时,即 index.php,startseite.inc.php 确实会被渲染为 fyi

对不起,如果这令人困惑,但整个网站是以非常非结构化的方式编写的。

谢谢, 马克

【问题讨论】:

    标签: html apache2 php4


    【解决方案1】:

    通过将?goto=xyz 添加到URL,您将goto 参数(值为xyz)添加到HTTP GET 请求。 PHP 能够理解这些参数。要访问它的值,您唯一要做的就是读取 PHP 内置 $_GET 数组的相应值,如下所示:

    $goto = $_GET['goto'];
    

    $_GET 数组上的 PHP 文档:Reserved variables: GET

    如果您需要进一步解释,请告诉我。

    【讨论】:

    • 太棒了,谢谢。那条线不存在,但该站点曾经在生产中工作……奇怪。无论如何,我添加了它,它现在可以工作了! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    相关资源
    最近更新 更多