使用$ _GET通过循环自动创建多个页面

时间:2011-07-16 16:03:19

标签: php html

请查看以下代码:

<?php
if ($_GET['picture'] == 1) {
    echo "<img src=\"1.jpg\" />";
} else if ($_GET['picture'] == 2) {
    echo "<img src=\"2.jpg\" />";
} else if ($_GET['picture'] == 3) {
    echo "<img src=\"3.jpg\" />";
}
?>

现在,当我点击index.php?picture = 1这样的链接时,会出现图片1.jpg。但是,当我拥有其中的一千个时,我不想自己创建每个If语句:那么如何循环使用它呢?如何创建循环以便自动创建?

3 个答案:

答案 0 :(得分:2)

您可以在echo'd字符串中包含该值。只需检查以确保其低于最大值(1000或其他):

$picture = intval($_GET['picture']);
if (picture > 0 && $picture < maximum) {
  echo "<img src=\"{$picture}.jpg\" />";
}

答案 1 :(得分:0)

您可以尝试这样做,确保将$ _GET值刻板为整数,否则可能会出现严重的XSS问题。

<?php
$picnum=(int)$_GET['picture']; // make sure the value is a number to avoid XSS
echo "<img src='".$picnum.".jpg' />";
?>

答案 2 :(得分:0)

$picture = isset($_GET['picture']) ? (int)$_GET['picture'] : 0;
if($picture)
    echo '<img src="'.$picture.'.jpg" />';