$ _GET Breaks XML - PullRequest
       8

$ _GET Breaks XML

0 голосов
/ 16 ноября 2010

Я использую галерею флеш-изображений SimpleViewer на сайте, и она использует файл XML для информации об отображаемых изображениях.

Для сайта мне нужно динамически сгенерировать XML, поэтому я использую файл PHP с объявленным типом содержимого text / xml. Однако, по какой-то причине, когда я обращаюсь к одной из переменных GET в массиве $ _GET, SimpleViewer сообщает мне, что в галерее нет изображений, хотя при просмотре исходного кода оно выглядит точно так же и хорошо сформировано. *

Вот код:

$photos = array(
 "1" => array("house1_1.JPG")
);
foreach($photos[$_GET["hid"]] as $p){
 echo '';
}

Если я заменим $_GET["hid"] на "1", тогда он будет работать нормально, но когда я делаю ссылку на $ _GET, он возвращает ошибку.

Есть ли какая-то причина, по которой доступ к переменной GET может привести к сбоям сценариев, ссылающихся на XML (флэш-память SimpleViewer), и есть ли способ обойти это?

* Примечание: переменная "hid" GET на 100% уверена, установлена ​​на "1", и ошибки PHP нет. Кроме того, вывод выглядит точно так же, когда я использую $ _GET ["hid"] против "1", единственное отличие состоит в том, что скрипт SimpleViewer отказывается видеть, что изображения есть. Кроме того, в пустых кавычках есть какой-то XML, но я не знаю, как заставить его появляться в тегах ...

Var dump из $ photos и $ _GET соответственно:

array(1) {
  [1]=>
  array(1) {
    [0]=>
    string(12) "house1_1.JPG"
  }
}
array(1) {
  ["hid"]=>
  string(1) "1"
}

Ответы [ 4 ]

0 голосов
/ 30 декабря 2010

Проблема не была решена - мне пришлось просто двигаться дальше и искать более длинное и менее изящное решение.Ну хорошо.

0 голосов
/ 16 ноября 2010

Установлена ​​ли переменная $_GET hid в вашем запросе?Если нет, это вызовет предупреждение PHP.

var_dump($_GET['hid']);, чтобы увидеть значение переменной $_GET и убедиться, что вы ожидаете.

Также убедитесь, что у вас установлен набор сообщений об ошибкахпо крайней мере E_ALL, а для отображения ошибок установлено значение да / правда, чтобы упростить отладку.

0 голосов
/ 16 ноября 2010

Я думаю, что у вас, вероятно, есть проблема с разницей между "1" и 1. Когда вы используете get с чем-то вроде? Hid = 1, оно не отображается как строка, а преобразуется в число, тогда как ваш фактический массив использует строку «1» в качестве ключа.

Либо измените свой ключ на 1 вместо «1», либо приведите hid к строке.

0 голосов
/ 16 ноября 2010

Сначала я проверил бы, что $ _GET ["hid"] возвращает "1".Если возможно, что он не возвращает «1», он должен выдать ошибку при доступе к неверному индексу $ photos.

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