2016-04-14 36 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