Я настроил следующее:
- Класс базы данных ($ db)
- Класс пагинации ($ paginator)
Я пытаюсьнаписать основную систему, чтобы позволить мне администрировать страницы.У меня есть страница «page_manager.php», в которую я включаю мой класс базы данных (database.php) и мой класс пагинации (paginate.php).
В моем классе пагинации есть функция, которая повторяет мой SQLданные.Я предложил способ отображения элемента HTML
Я добавилсобытие onChange для элемента
. Затем в URL добавляется переменная $ _GET, поэтому URL становится «... /? Pagenumber_form = X».Однако, когда я пытаюсь извлечь это значение из URL, $ _GET ['pagenumber_form'] пусто.
Некоторый код:
<span style='font-family: tahoma; font-size: 10pt;'>Page #</span>
<select id="page_number_selection"
onchange='javascript: document.getElementById("pagenumber_form").value = this.value;
document.getElementById("pagenumber").submit();'>
<?php
for($i = 1; $i <= $this->num_pages; $i++)
echo"<option id='" . $i . "'>" . $i . "</option>";
?>
</select>
<form name="pagenumber" id="pagenumber" action="" method="get">
<input type="text" name="pagenumber_form" id="pagenumber_form" />
</form>
Итак, я попытался использовать$ _POST, но происходит то же самое.Я хочу использовать $ _GET по нескольким причинам: легче увидеть, что происходит с моими значениями, и данные, которые я использую, не должны быть безопасными.
Напомним: $ _GETпеременная добавляется в URL, когда я изменяю элемент
$page_number = $_GET['pagenumber_form'];
... Я получаю значение NULL.: - (
Кто-нибудь может мне помочь, пожалуйста? Спасибо.
РЕДАКТИРОВАТЬ :
Я только что сделал открытие. Если я переедумой print_r ($ _ GET) на мою главную страницу индекса, тогда суперглобальные значения возвращаются, как и ожидалось. Моя структура сайта выглядит следующим образом:
index.php - кнопки JavaScript используют HTTP-запросы AJAX для включения «responseText» в качестве.innerHTML моего основного
. «responseText» - это содержимое самой страницы, в данном случае page_manager.php, которая, в свою очередь, включает pagination.php.
Другими словами, мой сайтпостроен на PHP включает, который, кажется, не совместим с суперглобалами HTTP.
Есть идеи, как мне обойти эту проблему? Спасибо: -).
+ ------------------------------------------------------------------ +
Я не могу отвечать на свои собственные сообщения, поэтому:
Проблема не решена, но была решена.
Я, конечно, не очень разбираюсь в PHP, но яВыражение, что использование AJAX-запросов для включения файла PHP в документ, который сам включает в себя другие файлы PHP, не является хорошей идеей.Я полагаю, что проблема была вызвана тем, что PHP выполняется до загрузки документа в браузер.Следовательно, динамическое включение файла PHP в документ приведет к неправильной работе указанного файла из-за того факта, что PHP должен выполняться сервером до отображения страницы, а не после.
Таким образом, я перестал использовать AJAX для своего сайта и просто использую старый добрый PHP.Я не знаю достаточно, чтобы продолжать использовать запросы AJAX, так что это конец этой проблемы.
Спасибо тем, кто ответил.