如何在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
}