将链接的文本作为值传递到下一页

时间:2016-04-14 21:43:11

标签: php html mysql

我正在尝试将链接的文本作为值传递给下一页,因此我可以使用它来搜索数据库中的项目并检索与该值相关的信息。我尝试过使用POST方法,但无论信息如何没有通过。这是我试过的代码。

<form action="DetailedMenu.php"  method = "POST" action = "<?php $_PHP_SELF ?>">

<?php

for($i=0;$i<sizeof($array);$i++) {
    if($array[$i]["Food_Category"]=="starters") {
        echo str_repeat('&nbsp;', 4); ?>

        <a  href="DetailedMenu.php" ><?php echo $array[$i]["Food_Name"];?></a>

        <?php echo "   " .str_repeat('.&nbsp;', 25). "€".$array[$i]["Food_Price"]."<br>"; ?>

        <input type="hidden" name="name" value="<?php echo $array[$i]["Food_Name"];?>">

        <?php
    }
}

?>

</form>

2 个答案:

答案 0 :(得分:0)

你不需要表格。

做出你想要做的事情最简单的方法....

除了在链接内容中包含文本外,还要将其包含在查询字符串参数中。

for($i=0;$i<sizeof($array);$i++) {
    if($array[$i]["Food_Category"]=="starters") {
        ...
        <a  href="DetailedMenu.php?q=<?php echo $array[$i]["Food_Name"];?>"><?php echo $array[$i]["Food_Name"];?></a>
        ...
    }
}

我实际上会推荐更像这样的东西。我显然不知道你的田地名字,所以我只是猜测了......

for($i=0;$i<sizeof($array);$i++) {
    if($array[$i]["Food_Category"]=="starters") {
        ...
        <a  href="DetailedMenu.php?FoodID=<?php echo $array[$i]["Food_ID"];?>"><?php echo $array[$i]["Food_Name"];?></a>
        ...
    }
}

您将能够访问&#34; FoodID&#34;作为PHP中的参数,就像从表单中提交一样。

答案 1 :(得分:-1)

您可能正在寻找AJAX。 AJAX允许您将表单数据发送到后端PHP文件(然后可以将数据插入到数据库中,和/或从数据库中获取数据),而无需刷新页面。

事实上,当你使用AJAX时,你甚至不需要使用<form>结构 - 简单的DIV工作得很好。然后,您不需要使用event.preventDefault()来禁止内置表单刷新。

只需在DIV内部构建一个结构(输入字段,标签等),当用户准备提交时,他们可以点击一个普通的按钮:

<button id="btnSubmit">Submit</button>

<强> jQuery的:

$('#btnSubmit').click(function(){
    var fn = $('#firstname').val();
    var ln = $('#lastname').val();
    $.ajax({
        type: 'post',
         url: 'ajax_receiver.php',
        data: 'fn=' +fn+ '&ln=' +ln,
        success: function(d){
            if (d.length) alert(d);
        }
    });
});

<强> ajax_receiver.php:

<?php
    $fn = $_POST['fn'];
    $ln = $_POST['ln'];

    //Do your stuff

Check out this post,特别是它的例子。将它们复制到您自己的系统上,看看它们的工作原理。这很简单。