get — PHP $ _GET [‘action’]

Я пытаюсь научить себя PHP и занимаюсь этим уже пару недель. В настоящее время я пытаюсь обернуть голову вокруг методов GET и POST, особенно GET. Это просто некоторый основной код, который я написал:

<html>
<form action="" method="GET">
<input type="submit" name="action" value="Laugh">
<input type="submit" name="action" value="Cry">
</form>
</html>

<?php
$action = isset($_GET['action']) ? $_GET['action'] : NULL;

switch ($action) {
case 'Laugh':
echo 'You laughed!';
break;
case 'Cry':
echo 'You cried!';
break;
}
?>

После нажатия на кнопку «Отправить» приведенный выше код отобразит соответственно результат. Это работает для кнопок отправки. Как бы я получил тот же результат, если бы я использовал ссылки вместо кнопок отправки? Я хотел бы иметь возможность щелкнуть ссылку и привести ее к одному из вариантов переключения. Я попытался выполнить поиск в Интернете и не смог получить никакой информации по этому вопросу.

Спасибо за помощь!

2

Решение

Просто используйте якорь:

<a href="?action=Laugh">Please Laugh</a><br>
<a href="?action=Cry">Please Cry</a>

Ваш код PHP может быть неизменным.

2

Другие решения

Если вы хотите, чтобы значения передавались по ссылке, вы можете использовать метод $ _GET. Метод get передает значения, используя URL. Допустим, вы хотите получить значения, используя ссылку, это будет выглядеть примерно так:

<a id="link" href="./?action=Laughed">Link</a>

Вы сможете получить значение действия, как

$action = $_GET['action'];

Конечно, вы захотите это исправить, потому что пользователи смогут передавать свои собственные значения, используя тот же URL, что и

 http://YourFile.php?action=WhateverIWant!

И если вам требуется метод POST, вы можете использовать JavaScript, чтобы сделать это. В вашем JavaScript вы можете иметь

document.getElementById("link").addEventListener("click",function(e){
e.preventDefault();
document.getElementById("form-id-here").submit();
});
0

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

<form>
<a href="a.com?id='1'" >Laugh</a>
<a href="a.com?id='2'" >Cry</a>
</form>

<?php
$action = isset($_GET['id']) ? $_GET['id'] : NULL;

switch ($action)
{
case '1':
echo 'You laughed!';
break;
case '2':
echo 'You cried!';
break;
default:
echo 'No Resuke Match';
}
?>
0
По вопросам рекламы [email protected]