2013-11-08 3 views
-3

Я работаю над задачей и создал свой код следующим образом:
На index.php я включаю файл, который служит в качестве вида с кодом:

include 'Controller/CallArticleData.php'; 

$i = count($display) - 1; 

while ($i >= 0) { 
    echo "<a href='index.php?editID=" . $display[$i]['ID'] . "'>" . $display[$i]['title'] . "</a><br/>"; 
    $i--; 
} 

В принципе, я вызываю контроллер, который вызывает соответствующую модель, а затем я использую данные для настройки URL-адреса. Я хочу, чтобы он установил $_POST['editID'] всякий раз, когда пользователь нажимает на соответствующую ссылку.

Однако переменная по-прежнему остается неточной при ударе по ссылке, хотя URL-адрес изменяется на index.php?editID=12345. Я выполнил эту проверку как в index.php, так и в соответствующем представлении.

Что я делаю неправильно?

ответ

1

Вы должны использовать $_GET для доступа к параметрам строки запроса:

$_POST['editID'] 

должен быть

$_GET['editID'] 
+0

О, Боже, я не могу поверить, что я такой дурак :) Спасибо! – Tyrant

2

$_GET переменные приходят из строки запроса. $_POST переменные поступают из представления форм с действием = «пост»).

Попробуйте изменить

$_POST['editID'] 

в

$_GET['editID'] 
+0

Довольно глупая ошибка. Спасибо! – Tyrant

0

Попробуйте использовать $_GET['editID'] вместо $_POST['editID']

Информация о:

GET - Requests data from a specified resource 
POST - Submits data to be processed to a specified resource 

Метод GET : $ _GET

Обратите внимание, что строки запроса (пары имя/значение) отправляются в URL-адресе запроса GET. ?

файла name1 = value1 & name2 = value2

Метода POST: $ _POST

Обратите внимание, что строки запроса (пар имя/значение) передается в теле HTTP сообщений запроса POST.

+0

Большое спасибо! – Tyrant

0

Вы можете использовать либо получить или запрос вместо поста

$ _GET [ 'editID']; или $ _REQUEST ['editID'];

Смежные вопросы