Php 标准语法$\u POST['']在分析变量之前返回false/drops数据
Sup stackies 好吧,我有一个真正的抓狂给你们!我已经试着解决这个难题一个星期了,很明显,我正在进行堆栈冷却。好的,我有两个脚本,它们在相同的if/elseif语句下。他们都是100%单独工作的,通过多次测试得出结论。脚本应该根据两个提交按钮中的一个启动if/elseif。脚本本身不是问题所在。这是启动脚本的过程。在与2个submit按钮相同的页面上,有2个文本字段,这两个脚本都使用它们来完成 按钮的构造如下所示:Php 标准语法$\u POST['']在分析变量之前返回false/drops数据,php,parsing,post,mysqli,get,Php,Parsing,Post,Mysqli,Get,Sup stackies 好吧,我有一个真正的抓狂给你们!我已经试着解决这个难题一个星期了,很明显,我正在进行堆栈冷却。好的,我有两个脚本,它们在相同的if/elseif语句下。他们都是100%单独工作的,通过多次测试得出结论。脚本应该根据两个提交按钮中的一个启动if/elseif。脚本本身不是问题所在。这是启动脚本的过程。在与2个submit按钮相同的页面上,有2个文本字段,这两个脚本都使用它们来完成 按钮的构造如下所示: <input type="SUBMIT" Name="Udlaa
<input type="SUBMIT" Name="Udlaan" VALUE="Udlån" METHOD="POST" class="Aside-Udlån">
<input type="SUBMIT" Name="Aflever" VALUE="Aflever" METHOD="POST" class="Aside-aflever" >
<input Type="Text" Name="bunnr" Method="POST" Class="Skriv_bun" Placeholder="bun Nummer">
<input Type="Text" Name="Ordreren" Method="POST" Class="Ordre_No_Skriv" Placeholder="Ordre Nummer">
$Ordre_Nr=$_POST['Ordreren'];
$bun_Nr=$_POST['bunnr'];
所以问题是文本字段中的数据永远不会被解析为variablesm,这导致我的脚本永远不会运行。我提醒您,输入字段和变量之间相隔3行,文本字段之间和上方没有任何与此问题相关的内容。我加上或死$conn;在其中一个变量上,该变量为我提供了类mysqli的对象,但无法将其转换为字符串。如果没有它,上面的函数只返回带有未定义索引的false
我尝试制作与我的真实剧本毫无关联的新剧本。
这是其中之一:
<html>
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
<form METHOD="POST"> <input type="submit" Method="POST" NAME="WORLD" Placeholder="World">
<input type="text" Method="POST" NAME="Hello" Placeholder="hej">
</form>
<?php
$f = $_POST['World'];
$e = $_POST['hej'];
if(isset($f)){echo $e;}
?>
</body>
</html>
我们是否同意这一点?但事实并非如此。没什么,小口,娜达。除了相同的未定义索引。
我制作了另一个非常像上面的一个几乎完全像它一样使用POST,我在文本字段中输入的数据显示为GET,我可以看到url栏中的所有内容
这不仅仅是一个标准错误,我有一个有20年断断续续经验的人,他没有发现一个语法错误,可能与这个问题有关
如果有任何人有任何真正好的建议,请站出来,并占上风!如果您需要更多信息,我将尽力提供^^
仅供参考,我不太喜欢SQL注入注释,因为它对于这个问题并不重要。
供参考2。这不是复制品。我已经检查了这个问题的多个问题和答案,没有任何效果 使用表单时,该方法应仅进入标记中,如下面的示例所示: 注意,我使用name=sendPost作为提交按钮的名称
<form method="post">
<input type="text" name="world" placeholder="World">
<input type="text" name="hello" placeholder="hej">
<input type="submit" name="sendPost" value="Submit">
</form>
然后,在PHP中,您需要检查发送的文件是否已提交:
<?php
if (isset($_POST['sendPost']))
{
$f = $_POST['world'];
$e = $_POST['hello'];
echo $e, $f;
}
?>
因此,如果设置了sendPost,如果按下了sendPost,则运行此查询
还要注意的是,PHP应该位于html的上方,而不是下方
添加到:
否则,如果运行起来非常简单,那么在我最初的回答中,还有一个补充:
使用一个表单并添加2个提交,而不是一个提交
<form method="post">
<input type="text" name="world" placeholder="World">
<input type="text" name="hello" placeholder="hej">
<input type="submit" name="sendPost" value="Submit">
<input type="submit" name="reset" value="Reset Form">
</form>
然后,在关闭IF后的PHP中,您可以运行elseif,例如我添加的示例:
<?php
if (isset($_POST['sendPost']))
{
$f = $_POST['world'];
$e = $_POST['hello'];
echo $e, $f;
} elseif (isset($_POST['reset']))
{
echo 'the form has been reset';
}
?>
因此,如果已提交sendPost,请运行括号内的内容并回显$e和$f。否则,如果您按了“重置运行”,则表单的回显已重置。为什么要在每个输入中输入方法?在您的上,method=POST不是HTML5正确的。必须在开始标记上设置此属性。我已尝试将其放在顶部、底部、前后,但没有做任何操作。我尝试了多次,仅在标记中使用method=POST,仅在输入中使用,并且两者都使用。没什么。你真的试过在任何地方使用我的例子吗?我只是有我的脚本非常相似,所以我以前没有。你的好像起作用了。但这仍然不能解释为什么数据不能用我的变量解析。由于字段中的数据应该保存在变量中而不使用isset,因此我在我的答案中添加了一个更好的例子,让您也可以添加到elseif查询中。如果您没有运行isset,您希望它如何知道保存到哪里?我发现您的问题中没有PHP,因此只能回答所提供的内容。