$\u POST php-无法从输入获取表单数据
我使用一个基本表单和一个非常基本的PHP脚本来处理来自它的信息。不幸的是,PHP在获取post数据时遇到了问题。我读了很多关于这个主题的帖子,但是找不到我需要的。我会发布我的代码,我希望你能指出我的问题$\u POST php-无法从输入获取表单数据,php,html,function,Php,Html,Function,我使用一个基本表单和一个非常基本的PHP脚本来处理来自它的信息。不幸的是,PHP在获取post数据时遇到了问题。我读了很多关于这个主题的帖子,但是找不到我需要的。我会发布我的代码,我希望你能指出我的问题 <form id="contactForm" action="form/formProcess.php" method="post"> <h1 id="contactHead" class
<form id="contactForm" action="form/formProcess.php" method="post">
<h1 id="contactHead" class='contactHead'>Stay in touch</h1>
<div class="wrapper">
<i class="far fa-user"></i>
<input name = "name" type="text" id="nameID" placeholder="name" required>
</div>
<div class="wrapper">
<i class="fas fa-suitcase"></i>
<input name = "business" type="text" id="businessID" placeholder="business">
</div>
<div class="wrapper">
<i class="far fa-envelope"></i>
<input name = "email" type="email" id="emailID" placeholder="email">
</div>
<div class="wrapper">
<i class="fas fa-comment-alt"></i>
<textarea name="msg" id="msgID" placeholder=" Hello, write your message here"></textarea>
</div>
<input name ="submitButton" type="submit" value = "send " name ="submit">
</form>
我的想法是处理表单,我只发布了$name
,但已经足够了,$\u post['name']
不存储值,我不知道原因。
有关我尝试过的调试的详细信息:
$\u POST['name']
-提交表单时返回true$\u POST['name']
-我什么也得不到-我得到一个空格-var\u dump返回字符串(0)我尽我所能读到或想到的一切,但结果从未改变。我不知道这个问题是什么。我的目的是成功地接收“name”值,这样我可以将其存储到数据库中,但我不能使其获取输入字段的值。在php文件中,您可以使用以下方法测试文件是否使用post方法从html表单接收数据,例如:
if($_SERVER["REQUEST_METHOD"] == "POST"){
echo("is receiving");
} else {
echo("error");
}
如果打印错误,则html表单中的操作属性可能错误$\u POST['name']在提交表单之前为空。因此,请使用isset()命令
if(isset($_POST['submit'])){
$name = test_input($_POST['name']);
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
}
我通过从输入中删除ID来修复它,我一这么做,它就工作了什么是
测试输入
?$\u POST['name']代码>使用这种方式。@KUMAR这可能是一个不正确或危险的答案。你不知道这个函数做什么,也不知道这个值以后是如何使用的。我觉得test\u input()shared@KUMAR在21世纪初,人们将其误解为所有安全问题的一站式解决方案。请参见Riggs链接。注意如果($\u SERVER[“REQUEST\u METHOD”]==“POST”){
它的大写形式我测试了这个-它正在接收它正在返回isset-因此设置了名称输入,但出于某些原因我仍然可以获取它的名称
if(isset($_POST['submit'])){
$name = test_input($_POST['name']);
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
}