如何在php中从表单中获取值

如何在php中从表单中获取值,php,Php,$\u POST是一个变量,而不是一个函数 <input type="submit" name="submit" value="update"></input> <input type="submit" name="submit" value="submit"></input> 就这样下标吧 <? if('POST' == $_SERVER['REQUEST_METHOD'] { $_SESSION['upd

$\u POST
是一个变量,而不是一个函数

 <input type="submit" name="submit" value="update"></input>
 <input type="submit" name="submit" value="submit"></input>
就这样下标吧

<? 
   if('POST' == $_SERVER['REQUEST_METHOD']
   {
       $_SESSION['update'] = trim($_POST("wasUpdateClicked")_;
   }
   $wasUpdatedClicked = $_SESSION['wasUpdatedClicked'];
   if(isset($wasUpdateClicked))
   {
      ..do something here like an update method
   }
?>
<form name="x" method="post" action="samePage.php">
      ...do some stuff here that isnt important
   <input type="submit" value="update" onclick="$wasUpdateClicked = 2" />
</form>
此外,我通常发现使用
if(!empty($\u POST)){…}
检查帖子更容易

要使用
$\u会话
,您需要先调用
会话_start()

这行有几个问题

$var = $_POST['wasUpdateClicked'];

用PHP不能做到这一点。我认为您混淆了JavaScript和PHP(尽管如此,这将是不好的JavaScript实践)。

此外:

表单不是这样工作的。只有表单元素的内容被发送到服务器,由它们的
名称
标识

那么这个

<input type="submit" value="update" onclick="$wasUpdateClicked = 2" />
也许可以用JavaScript更新这个值。或者,如果您确实想计算表单提交的数量,您可以在服务器端使用
$\u SESSION
(仅仅拥有一个总是发送
2
的表单元素似乎没有什么用处)

你应该阅读并描述你真正想做的事情。

你应该替换

<input type="text" name="wasUpdateClicked" value="2" />
<!-- or type="hidden" -->

有很多方法可以做到这一点。以下是一些应该有所帮助的建议

如果为按钮指定名称,则其值将是$\u POST数组的一部分

$wasUpdatedClicked = $_POST['wasUpdateClicked'];  
然后,如果他们单击更新按钮,
$\u POST['action']
将是“更新”

要在他们单击更新按钮时执行更新,请执行以下操作:

<input type="hidden" id="action" name="action" value="">
<input type="submit" value="update" onclick="document.getElementById('action').value = 'update'" />

如果没有“提交”输入类型,表单如何提交?@Zach您可以通过多种方式提交表单,包括使用
按钮和JavaScript。@Zach:我不是说您应该删除“提交”按钮(你应该删除这个无用的
点击
处理程序。你到底想跟踪什么点击?我把它弄糊涂了,从它发送后我就可以看到变量,这很有道理。太好了,那么请不要忘记投票,因为这是一种识别方式。Thx。
$wasUpdatedClicked = $_POST['wasUpdateClicked'];  
 <input type="submit" name="submit" value="update"></input>
 <input type="submit" name="submit" value="submit"></input>
<input type="hidden" id="action" name="action" value="">
<input type="submit" value="update" onclick="document.getElementById('action').value = 'update'" />
if (isset($_POST['action']) && $_POST['action'] == 'update')
{
    // do your update
}