2013-06-24 87 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屬性,您可以爲表單和表單字段命名。