Я пытаюсь научить себя 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;
}
?>
После нажатия на кнопку «Отправить» приведенный выше код отобразит соответственно результат. Это работает для кнопок отправки. Как бы я получил тот же результат, если бы я использовал ссылки вместо кнопок отправки? Я хотел бы иметь возможность щелкнуть ссылку и привести ее к одному из вариантов переключения. Я попытался выполнить поиск в Интернете и не смог получить никакой информации по этому вопросу.
Спасибо за помощь!
Просто используйте якорь:
<a href="?action=Laugh">Please Laugh</a><br>
<a href="?action=Cry">Please Cry</a>
Ваш код PHP может быть неизменным.
Если вы хотите, чтобы значения передавались по ссылке, вы можете использовать метод $ _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();
});
Вы можете использовать строку запроса.
<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';
}
?>