Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中输入的初始值_Php - Fatal编程技术网

PHP中输入的初始值

PHP中输入的初始值,php,Php,这里有一个简短的问题: 代码是这样的 是否每次都检查输入值?那么为什么第一次输入不大于0呢?这是初始设置吗 感谢您的帮助:)。此值仅在您发布表单时设置(并且始终设置),而不是第一次加载页面而不提交表单时设置。您可以稍微修改它以避免这种混淆 if(isset($_POST)) { if (strlen($_POST["HDN_FormClicked"]) > 0){ echo "You have clicked the button"; } } else { echo "Form wa

这里有一个简短的问题: 代码是这样的

是否每次都检查输入值?那么为什么第一次输入不大于0呢?这是初始设置吗

感谢您的帮助:)。

此值仅在您发布表单时设置(并且始终设置),而不是第一次加载页面而不提交表单时设置。您可以稍微修改它以避免这种混淆

if(isset($_POST))
{
if (strlen($_POST["HDN_FormClicked"]) > 0){
  echo "You have clicked the button";
}
}
else
{
echo "Form was not submitted this time";
}
此值仅在
POST
表单时设置(并且始终设置),而不是第一次加载页面而不提交表单时设置。您可以稍微修改它以避免这种混淆

if(isset($_POST))
{
if (strlen($_POST["HDN_FormClicked"]) > 0){
  echo "You have clicked the button";
}
}
else
{
echo "Form was not submitted this time";
}

错误的解决方案,但您的问题的答案是:因为表单值尚未发送到服务器。所以,在第一次发送后,您将得到填充。只显示输入,数据就不会被发送。

这是一个糟糕的解决方案,但问题的答案是:因为表单值尚未发送到服务器。所以,在第一次发送后,您将得到填充。仅仅显示输入,数据就不会被发送。

Pluto,可能我在这里遗漏了什么,或者可能对表单如何与PHP通信有一点误解

PHP不知道您在页面上显示的表单数据,只知道它在输出文本。当您执行表单提交时,PHP会识别表单数据已传递给它

Envision我们有一个包含以下代码的页面:

<?php
if($_POST['HDN_FormClicked']) {
  print 'You have clicked the button';
} else {
  print 'Form was not submitted this time';
}
?>
<form method="post">
  <input type="hidden" name="HDN_FormClicked" value="1" />
  <button type="submit">Click</button>
</form>

点击
默认情况下,表单上方的文本将显示“此次未提交表单”


当您按下“单击”按钮时,表单将发布到脚本中,PHP将检测到表单元素已被传递,并将打印“you have clicked The button”。

Pluto,可能我在这里遗漏了一些内容,或者可能对表单如何与PHP通信有一点误解

PHP不知道您在页面上显示的表单数据,只知道它在输出文本。当您执行表单提交时,PHP会识别表单数据已传递给它

Envision我们有一个包含以下代码的页面:

<?php
if($_POST['HDN_FormClicked']) {
  print 'You have clicked the button';
} else {
  print 'Form was not submitted this time';
}
?>
<form method="post">
  <input type="hidden" name="HDN_FormClicked" value="1" />
  <button type="submit">Click</button>
</form>

点击
默认情况下,表单上方的文本将显示“此次未提交表单”


当您按下“单击”按钮时,表单将发布到脚本中,PHP将检测到表单元素已被传递,并将打印“you have clicked The button”。

明白了,所以第一次该值应该为null?既然你说这是一个糟糕的解决方案,你能给我一些提示,说明如何纠正这件事吗?谢谢首先,你真的需要斯特伦吗?因此,在使用if(isset($\u POST[“HDN\u FormClicked”])进行任何计算之前,请检查是否设置了该值,然后您将不会收到任何警告,也不会有问题。明白了,所以该值第一次应该为空?既然你说这是一个糟糕的解决方案,你能给我一些提示,说明如何纠正这件事吗?谢谢首先,你真的需要斯特伦吗?因此,在使用if(isset($\u POST[“HDN\u FormClicked”])进行任何计算之前,请检查是否设置了值,然后您将不会收到任何警告,一切正常。请包含完整的表单,以便我们可以查看它的发布位置。我的猜测是,你是在自己而不是另一个页面上发帖,因此在页面加载时,你没有一个值。您也可以这样缩短代码:
if($\u POST['HDN\u FormClicked'])
。如果
HDN\u FormClicked
有一个值,则语句将为
true
,否则将为
false
请包含完整的表单,以便我们可以查看它的发布位置。我的猜测是,你是在自己而不是另一个页面上发帖,因此在页面加载时,你没有一个值。您也可以这样缩短代码:
if($\u POST['HDN\u FormClicked'])
。如果
HDN\u FormClicked
有一个值,则该语句将为
true
,否则将为
false