Почему переменная $ _GET переопределяет весь массив? - PullRequest
2 голосов
/ 03 октября 2011

У меня есть теги для каждого идентификатора на странице flinstones.php (теги могут быть в разных порядках)

$tag_array пример:

id 123 = wilma, fred, bam bam, dinosaur
id 124 = dinosaur, bam bam, fred, wilma

var_dump($tags_array) возвращает это:

array(4) { 

    [0]=> string(5) "wilma"

    [1]=> string(4) "fred"

    [2]=> string(7) "bam bam"

    [3]=> string(8) "dinosaur"

} 

Теперь все так, как должно быть.Я использую первый тег в параметре ссылки, например так:
<a href="pandorum?tag=$tag1">$tag1</a>

Проблема возникает, когда я возвращаюсь на эту же страницу с переменной в ссылке.
flinstones.php?tag=fred

Теперь мой var_dump($tags_array) дает мне это вместо всех значений выше.

array(1) {

    [0]=> string(4) "fred" 

} 

Это меняет мой $ tag1 на fred вместо wilma для идентификатора 123 и fred вместо динозавра для идентификатора 124.

Есть ли способ назвать этот оригинал *first tag* для идентификатора?

flinstones.php                                flinstones.php?tag=fred
id 123 = *wilma*, fred, bam bam, dinosaur     id 123 = fred (should be wilma)
id 124 = *dinosaur*, bam bam, fred, wilma     id 124 = fred (should be dinosaur)

1 Ответ

3 голосов
/ 03 октября 2011

Проверьте, включен ли register_globals.Если это так, то вы забиваете переменную GET своей локальной версией (поэтому используйте другую переменную в вашем коде).

Вот ссылка: http://www.php.net/manual/en/ini.core.php#ini.register-globals

(я помню, когдаони переключили значение по умолчанию с on на off - это была PITA, чтобы вернуться и исправить код)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...