2016-04-14 27 views
1

我有一個HTML /嫩枝/引導有兩個按鈕文件:提交的HTML /嫩枝/引導/ PHP不可用按鈕價值

<form method="post" action="procuser.php"> 
    <div class="form-group"> 
     <label for="Details">Details:</label> 
     <textarea class="form-control" rows="5" id="details" name="details">{{ details }}</textarea> 
    </div> 
    <button type="submit" name="button" value="submit" class="btn btn-default">Submit</button> 
    <button type="submit" name="button" value="cancel" class="btn btn-default">Cancel</button 
    <br><span class="err">{{ err }}</span> 
</form> 

然後在PHP,我檢查表單是否提交/使用取消檢查:

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{ 
    if (isset($_GET["button"]) && $_GET["button"] == "submit") 
    { 
     if (postData(input("details"))) // <- never reaches here? 
      header("success.php"); 
    } 
    else 
     header("menu.php"); 
}   

但提交按鈕不起作用,我總是被重定向到菜單。

+0

我會做出不同的形式,一個用戶輸入並提交按鈕和其他與取消buttom – Manulaiko

+1

你的表單方法是'POST',但你檢查'$ _GET [「按鈕」]' – fusion3k

+1

我什麼都沒有關於'樹枝',但我知道你正在提交'POST '並嘗試用'GET'獲取值。這不會奏效。改爲使用'$ _POST [...]'。 – icecub

回答

1

因爲使用方法= 「郵報」在HTML表單。這就是原因,你不能獲得按鈕的價值$ _GET

變化:

if (isset($_GET["button"]) && $_GET["button"] == "submit") 

到:

if (isset($_POST["button"]) && $_POST["button"] == "submit") 
-1

如果(isset($ _ GET [ 「按鈕」])& & $ _GET [ 「按鈕」] == 「提交」)

在這段代碼

的情況下是不正確的,用戶可以點擊一個按鈕一時間,所以不可能在同一時間並單擊兩個按鈕:)

使用本

如果(isset($ _ GET [ 「鍵」)= 「提交」)

2

根據這個網站: http://www.w3schools.com/tags/tag_button.asp

注:如果您在HTML表單中使用<按鈕>元素,不同的 瀏覽器可以提交不同的值。使用<輸入>在 中創建HTML表單。

我建議使用

<input type="submit" name="button" value="submit" class="btn btn-default" /> 
<input type="submit" name="button" value="cancel" class="btn btn-default" /> 
+0

我複製了這個,但最後沒有「/」字符,很好的羅素! – tyebillion