通過有效的參數我有下面的XML存儲2電影ID和他們的頭銜PHP檢查通過URL在XSLT
<movies
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test.xsd">
<movie movieID="1">
<title>Movie 1</title>
</movie>
<movie movieID="2">
<title>Movie 2</title>
</movie>
</movies>
我的XSL顯示電影標題作爲超鏈接把用戶帶到movie_details頁面顯示基於通過URL傳遞的ID的電影信息。
movies_list.xsl
<xsl:template match="/">
<xsl:text>Movies list</xsl:text>
<xsl:apply-templates select="/movies/movie"/>
</xsl:template>
<xsl:template match="movie">
<xsl:element name="a">
<xsl:attribute name="href">movie_details.php?movieID=<xsl:value-of select="@movieID"/></xsl:attribute>
<xsl:value-of select="title"/>
</xsl:element>
<xsl:element name="br" />
</xsl:template>
這是我movie_details.php文件
<?php
$xml = new DOMDocument();
$xml->load('test.xml');
$xsl = new DOMDocument;
$xsl->load('movie_details.xsl');
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);
$params = $_GET['movieID'];
$proc->setParameter('', 'movieID', $params);
echo $proc->transformToXML($xml);
?>
我願做以下參數驗證在movie_details.php:
檢查通過URL傳遞的movieID是否有效a nd存在於XML文件中。如果我手動將瀏覽器中的URL更改爲
myserveraddress.com/movie_details.php?movieID=3
, ,我得到一個空白頁面,因爲movieID=3
不存在於XML文件中,並且沒有任何內容可以顯示。如果movieID是無效的,並在XML中不存在,那麼我想在網頁給我重定向到
index.php
檢查movieID參數是通過URL傳遞的。例如,如果我手動將瀏覽器中的URL更改爲
myserveraddress.com/movie_details.php
,那麼該頁面應該將我重定向到index.php
,因爲URL中沒有傳遞任何參數。
你在哪裏碰到這樣的障礙? – hakre 2013-03-20 17:29:51
我對PHP很陌生,我不太清楚如何做到這一點。我需要以某種方式檢查$ _GET ['movieID']是一個有效的參數。但我怎麼能在PHP中做到這一點? – Alex 2013-03-20 17:35:09