我正在尝试自学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;
}
?>
单击“提交”按钮后,上面的代码将分别显示案例结果。这适用于提交按钮。如果我使用链接而不是提交按钮,我将如何获得相同的结果?我希望能够点击一个链接,让它带我到其中一个切换案例。我尝试过在线搜索,但我无法获得任何相关信息。
感谢您的帮助!
答案 0 :(得分:2)
只需使用锚点:
<a href="?action=Laugh">Please Laugh</a><br>
<a href="?action=Cry">Please Cry</a>
您的PHP代码可以保持不变。
答案 1 :(得分:0)
如果您希望在链接中传递值,则需要使用$ _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();
});
答案 2 :(得分: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';
}
?>