2013-01-18 17 views
1

我得到这个脚本:这个表单中的提交值在哪里?

<?php 
if (!isset($_POST) || empty($_POST)) { 
    ?> 
    <form name="form1" method="post" action=""> 
     <input type="text" name="textfield"><br /> 
     <input type="submit" name="Submit" value="Submit"> 
    </form> 
    <?php 
} else { 
    $roughHTTPPOST = readfile("php://input"); 
    echo $roughHTTPPOST; 
} 
?> 

我每次提交表单我得到一个字符串包含两个文本框和提交值,文本字段值是非常简单,简单明了。但是我不知道提交值来自哪里? 下面是一个简单的字符串返回,当我输入“A”字,并提交形式:

文本框=一个&提交= Submit25 P/S:我的意思在这里是后附加价值“提交',它来自哪里,文本字段的值很容易理解。

+5

它来自您的提交按钮。尝试删除名称=“提交”。 – showdev

+0

从这里:'' – Sammitch

+1

不要测试$ _POST那样。这是不可靠的。改用'$ _SERVER ['REQUEST_METHOD'] =='POST'。这是100%可靠的。 –

回答

1

价值25被追加,因为这是的readfile()返回值,即从php://input被读取的字节数。

echo file_get_contents('php://input'); 

这会给出预期的输出。


Submit=Submit值只是来自你的标记:

<input type="submit" name="Submit" value="Submit"> 

如果你想删除,只需删除name属性,浏览器将不发送。

0

这是来自:

... name="Submit" ... 
+0

另外,如果您为不同目的使用不同值的多个提交按钮,例如制作计算器,这很好。 –

+0

不回答问题。 – vanneto

+0

@vanneto它不能回答这个问题吗? – Kermit