2009-04-05 3 views
0

Мне нужно заменить кнопку на моей веб-странице гиперссылкой. Я вызываю скрипт PHP с помощью кнопки.Как я могу преобразовать свою кнопку в гиперссылку в PHP?

извлечь идентификатор, используя следующую инструкцию:

$id = $_POST['id']; 

HTML код:

<form id="test1" method="post" action="my.php?action=show"> 
    <input type="hidden" name="id" id="id" value="1" /> 
    <input type="submit" name="submit" value="Click" onclick="return display(1);" /> 
</form> 

Вот что я придумал:

<a href="my.php?action=show&id='1'" onclick="return display(1);"> Click</a> 

ли мой код есть недостаток? Есть ли лучший подход?

ответ

3

Выглядит хорошо, за исключением трех вещей:

  1. Использование &amp; вместо &.
  2. Использовать id=1 вместо id='1'.
  3. Использовать $_GET вместо $_POST. Если вам нужна обратная совместимость, вы можете выбрать $_REQUEST.
+0

Он не должен использовать &, если он не хочет, чтобы действие var сохранялось: show & id = 1. Если он хочет action = show и id = 1, то он должен реально использовать &, а не & –

+0

@Jager, & будет переведен на & в URL. & используется для выхода из & в XML. – strager

0

Нет - отлично выглядит для меня, хотя «1» не обязательно должен быть в кавычках, и вам нужно будет изменить свой $ _GET на $ _POST в вашей первой строке PHP.

+0

«Перевернутые запятые» - это апострофы. – Guffa

+0

Ах, вот слово, о котором я думал - почему-то не пришло в голову! –

+0

На самом деле, кавычки верны: http://en.wikipedia.org/wiki/Single_quotes И в программировании они обычно называются «одинарные кавычки», а не апострофы/кавычки. – Calvin

1

Вы можете сделать ссылку выкладываю форму:

<a href="#" onclick="if(display(1))document.getElementById('test1').submit();return false;"> Click</a> 

Таким образом, он работает без изменения PHP кода.

+0

Не работает с Lynx. =] – strager

+0

И я тоже.;) – Guffa

+0

Я не думаю, что javascript работает с Lynx. – Calvin

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