PHP $ _GET ['action']

时间:2014-09-26 05:21:31

标签: php get

我正在尝试自学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;
    }
?>

单击“提交”按钮后,上面的代码将分别显示案例结果。这适用于提交按钮。如果我使用链接而不是提交按钮,我将如何获得相同的结果?我希望能够点击一个链接,让它带我到其中一个切换案例。我尝试过在线搜索,但我无法获得任何相关信息。

感谢您的帮助!

3 个答案:

答案 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';
    }
?>