-3

当我单击“提交”时,代码应显示函数中的值。下面是代码:

  <form method="post">
  <input type="hidden" name="HDN_FormClicked" value= <?php echo $clicked ?> />
   <?php 
   if($_POST){
     $clicked= "You have clicked the button";}
     ?>
  <input class="button" type="submit"/>
  </form>

我需要使用 $_get 来使代码工作吗?

4

4 回答 4

9
<?php 
    if(isset($_POST['submit_button']))
       $clicked = 'You have clicked the button';

?>

<form method="post">
<input type="hidden" name="HDN_FormClicked" value="<?php echo (isset($clicked)) ?  $clicked : '' ?>" />
<input class="button" name="submit_button" type="submit"/>
</form>

选择

<?php 
    $clicked = '';

    if(isset($_POST['submit_button'])) 
       $clicked = 'You have clicked the button'; 
?>

<form method="post">
<input type="hidden" name="HDN_FormClicked" value="<?= $clicked?>" />
<input class="button" name="submit_button" type="submit"/>
</form>
于 2013-06-24T15:10:41.617 回答
0

您在代码中的内容看起来像是将 javascript 与 php 混合...

如果您想将表单中的值传递给 PHP,您可以使用:

<form action="phpfile.php" method="post">

在您的 php 文件中,您可以使用$_POST.

例子:

<form action="http://somesite.com/prog/adduser" method="post">
<input type="text" name="info_to_get_1" value="" />
<input type="text" name="info_to_get_2" value="" />
<input type="submit" value="Send">

在你的 php 文件中:

$value_1 = $_POST["info_to_get_1"];
$value_2 = $_POST["info_to_get_2"];

在您的情况下,如果您想在用户点击时获得信息,您应该编写如下示例:

if(isset($_POST["HDN_FormClicked"])){$clicked= "You have clicked the button";}

于 2013-06-24T15:02:20.687 回答
0

这里是表单提交的一个小例子:

<form method="POST" action="/form.php" name="myForm">
    <input type="hidden" name="myHiddenValue" value="<?php echo $clicked ?>" />
    <input type="text" placeholder="Type in some text" name="myText" value="" />
    <button name="mySubmit" type="submit">Submit the form!</button>
</form>

<?php
    $clicked = "not_clicked";
    if ($_POST) {
        if (isset($_POST['myForm']) && isset($_POST['mySubmit'])) {
            $clicked = "clicked";
            var_dump($_POST); // dumps your $_POST array.
        }
    }
?>

解释:

使用方法属性可以更改请求方法。在这种情况下是 POST,但您可以使用 GET。
action 属性设置表单数据的发送位置。
输入中的隐藏类型隐藏了输入。
使用 name 属性,您可以“命名”表单和表单字段。

于 2013-06-24T15:11:21.517 回答
0

冥王星,您的问题是您试图在实际定义变量 $clicked 之前使用它。为什么要通过隐藏元素的 value 属性传递 php 代码?你的方法似乎很复杂。阅读创建表单和发布表单的标准程序。

于 2013-06-24T15:05:12.557 回答