Использование $ _Get ['color'] для отображения разных цветов - PullRequest
2 голосов
/ 16 июля 2010

Я думаю, что я делаю это неправильно, но это то, что у меня есть ...

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

__

Я не уверен, что я 'я делаю неправильно с моим кодом ... но кто-нибудь знает, как я мог отображать правильные изображения при вводе URL, используя $get['color']?

Ответы [ 3 ]

4 голосов
/ 16 июля 2010
$g=$_GET['color'];
if(in_array($g, array('red', 'pink', 'yellow' etc...))) {
    $color = "signature_".$g.'.png';
    echo '<img src="/images/'. $color.'" class="border" alt="" />';
}

Или что-то в этом роде. Вы должны заменить часть "и т.д ...".
Никогда не помещайте GET-параметры в строку без проверки.

1 голос
/ 16 июля 2010

Если я не дурак (что вполне возможно), то эти биты меняются:

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

должно быть

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

и нужно также проверить цвет, кто-то еще это покрыл.

0 голосов
/ 16 июля 2010
$color = "signature_" . $_GET['color'] . ".png";
echo "<img src=\"/images/$color\" class=\"border\" alt=\"\" />";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...