2013-12-19 3 views
0

У меня есть URL-адрес редактирования на моей веб-странице и вы хотите перенаправить на ту же страницу и выполнить код.Ошибка перенаправления метода GET

Пример: test.php: изменить URL-адрес -> test.php.

код test.php:

while ($row = mysql_fetch_array($query)){ 
echo "<tr>"; 
echo "<td>".$row['name']."</td>"; 
echo "<td><a href='test.php&id=".$row['id']."'>Edit</a></td>";     
echo "</tr>";     
} 

Теперь у меня есть следующий код также в test.php

if (isset($_GET['id'])){ 
echo "Test"; 
} 

Выход: http://prntscr.com/2cauwi

Почему это не $ _GET идентификатор и эхо-тест?

ответ

2

В качестве разделителя используется знак вопроса. Вот что отделяет строку запроса от остальной части URL-адреса. В этом случае строка запроса не отделена должным образом (поскольку вы используете & в качестве разделителя), и она пытается получить доступ к некорректной странице, вызывая ошибку 404. URL должен быть следующим вместо:

example.com/includes/test/test.php?id=14 
           ^

используется &, когда у вас есть несколько параметров запроса. Например:

example.com/includes/test/test.php?id=14&name=Foo 
+0

Да, спасибо, я не заметил, что использовал & вместо? Спасибо, Амаль! – user3111229

+0

@ user3111229: Рад помочь. –

0
echo "<td><a href='test.php?id=".$row['id']."'>Edit</a></td>"; 
0

изменение этой линии

echo "<td><a href='test.php&id=".$row['id']."'>Edit</a></td>" 

в

echo "<td><a href='test.php?id=".$row['id']."'>Edit</a></td>" 

Отметьте? вместо & & используется только для последующих параметров.

+0

Ага, я знал это, но не заметил;) Спасибо! – user3111229

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