使用$ _Get ['color']显示不同的颜色

时间:2010-07-16 08:55:25

标签: php image

我认为我做错了,但这就是我所拥有的......

if($_GET['color']) {
    $color = "signature_";
echo "<img src=\"/images/+ $color \"; \"class=\"border\" alt=\"\" />";

我要做的是根据用户输入输出彩色图像。

所以说这就是我在做的事。

Http://somedomain.com/index.php?username=Ultima&color=red.

到目前为止,我正在取代用户名,但图片无效。

我使用“signature_”作为前缀,因为图像颜色都带有前缀。

我在输入时试图显示的图像:

signature_red.png
signature_green.png
signature_white.png
signature_yellow.png
signature_gold.png
signature_silver.png
signature_purple.png
signature_pink.png

__

我不确定我的代码出错了但是有没有人知道如何使用$get['color']在网址输入时显示正确的图像?

3 个答案:

答案 0 :(得分:4)

$g=$_GET['color'];
if(in_array($g, array('red', 'pink', 'yellow' etc...))) {
    $color = "signature_".$g.'.png';
    echo '<img src="/images/'. $color.'" class="border" alt="" />';
}

或类似的东西。你必须更换“etc ...”部分 如果没有检查,切勿将GET参数放入字符串中。

答案 1 :(得分:1)

除非我是愚蠢的(这是完全可能的),否则这需要改变:

if($_GET['color']) {
    $color = "signature_";

应该是

if($_GET['color']) {
  $color = "signature_" . $_GET['color'];

它也需要验证颜色,其他人已经覆盖了它。

答案 2 :(得分:0)

$color = "signature_" . $_GET['color'] . ".png";
echo "<img src=\"/images/$color\" class=\"border\" alt=\"\" />";