2013-06-24 49 views
-3

当我点击“提交”时,代码应该显示函数中的值。这里是代码如下:使用php传递隐藏的输入值

<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使代码工作?

+0

你是什么''

的方法是什么? – andrewsi

+0

value = <?php echo $ clicked?>应该是,value ='<?php echo $ clicked?>' – Fallen

+0

method =“post”我会将其更新到问题 – Pluto

回答

6
<?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> 
+0

不错。有效!我正尝试将php代码替换为函数,谢谢! – Pluto

0

你必须在你的代码是什么样子混合用PHP的JavaScript ...

如果你想从你的形式到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";}

0

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

+0

这实际上是一个验证码。例如,当一个字段为空时,错误消息应该是“无效字段”。我已经使用php完成了基本代码,但是错误消息显示在底部。所以我试图让他们在顶端。 – Pluto

+0

使用JavaScript进行客户端验证。这不是傻瓜证明 - 但会节省很多头痛。无论哪种方式 - 尽量避免嵌入式PHP代码在HTML中。这很混乱,被认为是不好的做法 - 只会让你迷惑开发者。 – RutledgePaulV

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属性,您可以为表单和表单字段命名。