解析从html到php的url参数?

时间:2014-01-26 07:41:34

标签: php html include url-parameters ssi

我有一个包含大量动态内容的网站。我有一个主模板页面,然后将内容加载到其中。我有SSI运行良好(包括到PHP文件)但我无法获取PHP文件从html页面看到url参数。如果我能提供帮助,我宁愿不将所有的html文件转换为php文件。

以下代码获取到php文件ok(即显示hello world。)但是我要为????将主题从html url传递到包含的php文件?

我尝试过$ _GET,如果我直接调用页面(即在浏览器中放置getDynamicContent.php?topic = X),但是在通过#include调用时没有。

表示网址:mainPage.shtml?topic = X

在mainPage.shtml中

//this includes fine - no problems
    <!--#include "commonHeaderStuff.html"-->

//this includes but does not parse variable
    <!--#include "getDynamicContent.php"-->

getDynamicContent.php中的

//get topic variable
    $topic=????

//return content based on $topic
    echo "hello world";
    if($topic=="X"){echo "You passes an X"}
    else {echo "You passes a Y";}

1 个答案:

答案 0 :(得分:1)

您需要使用$_GET

if(isset($_GET['topic'])){
    $topic = $_GET['topic'];
    echo "hello world";
    if($topic == "X"){
        echo "You passes an X";
    }else{
        echo "You passes a Y";
    }
}else{
    #no topic
}

通过搜索将变量传递给Get url and parameters with SSI

中包含的变量的方法来尝试我的尝试
<!-- set default value for SSI variable "topic" -->    
<!--#set var="topic" value="" -->

<!-- get "topic" value from URL --> 
<!--#if expr="$QUERY_STRING = /topic=([a-zA-Z0-9]+)/" -->
<!--#set var="topic" value="?topic=$1" -->
<!--#endif -->

<!--#include virtual="getDynamicContent.php${topic}"-->

我刚刚对此进行了测试,但我也必须添加virtual=才能使其正常工作,但您可能需要将其更改为file=。您可以将<!--#set var="topic" value="" -->更改为您想要的任何默认值,例如:value="?topic=X"