2つの映画IDとそのタイトルを格納する次のXMLがあります
<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が有効であり、XMLファイルに存在することを確認してください。ブラウザのURLを手動でに変更すると、XMLファイルに存在せず、表示するものがない
myserveraddress.com/movie_details.php?movieID=3
ため、空白のページが表示されます。movieID=3
movieIDが無効であり、xmlに存在しない場合は、ページをリダイレクトしてください
index.php
movieIDパラメータがURLを介して渡されていることを確認してください。たとえば、ブラウザのURLを手動でに変更した場合、URLにパラメータが渡されない
myserveraddress.com/movie_details.php
ため、ページはにリダイレクトする必要があります。index.php