PHP/MySQLi联系人表单无法与$\u POST一起使用
因此,当我将测试值放入php文件中时,我的表单似乎可以工作,如下所示:PHP/MySQLi联系人表单无法与$\u POST一起使用,php,html,mysqli,prepared-statement,Php,Html,Mysqli,Prepared Statement,因此,当我将测试值放入php文件中时,我的表单似乎可以工作,如下所示: $name = 'name'; $email = 'test@gmail.com'; $telephone = '123456789'; $message = 'test message'; 但是,当我用php_POST替换测试值时,如下所示: $name = $_POST['name'] 一切似乎都破裂了,我不知道为什么 在contact.html文件中获得了一个非常简单的contact-us表单设置: <di
$name = 'name';
$email = 'test@gmail.com';
$telephone = '123456789';
$message = 'test message';
但是,当我用php_POST替换测试值时,如下所示:
$name = $_POST['name']
一切似乎都破裂了,我不知道为什么
在contact.html文件中获得了一个非常简单的contact-us表单设置:
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-9 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2">
<div class="form-header">
<h8>CONTACT US FORM</h8>
</div>
<form method="post" action="php/contact.php">
<div class="row">
<div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
<label>Name:</label>
<input type="text" name="name" class="form-control" onchange="capitalise()">
</div>
<div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
<label>Email Address:</label>
<input type="email" class="form-control" name="email">
</div>
<div class="form-group col-xs-4 col-sm-4 col-md-4 col-lg-4">
<label>Phone Number:</label>
<input type="tel" class="form-control" name="tel">
</div>
<div class="clearfix"></div>
<div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
<label>Message:</label>
<textarea class="form-control" rows="6"></textarea>
</div>
<div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
<input type="hidden" name="msg" value="contact">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
</div>
</div>
</div>
联系我们表格
姓名:
电邮地址:
电话号码:
信息:
提交
下面是使用准备好的语句的PHP联系人表单
<?php
$servername = "*******";
$username = "********";
$password = "********";
$dbname = "*********";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $name, $email, $telephone, $message);
$name = $_POST['name'];
$email = $_POST['email'];
$telephone = $_POST['tel'];
$message = $_POST['msg'];
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$conn->close();
?>
在将变量插入绑定之前,您需要声明变量:
<?php
$servername = "*******";
$username = "********";
$password = "********";
$dbname = "*********";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn -> prepare("INSERT INTO contact (name, email, telephone, message) VALUES (?, ?, ?, ?)");
$name = $_POST['name'];
$email = $_POST['email'];
$telephone = $_POST['tel'];
$message = $_POST['msg'];
$stmt->bind_param("ssss", $name, $email, $telephone, $message);
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$conn->close();
?>
定义“一切似乎都破裂了”。有错误吗?意外的结果?还有什么吗?尝试将POST数组/变量放在查询上方。使用错误报告并检查查询中的错误;你没那么做。使用条件语句检查isset/empty。在传递给函数之前,未定义变量。您确定没有收到任何错误吗?顺便说一句,onchange=“capitalize()”
建议您正在使用JS,这可能是造成此问题的原因,并且不知道是否与此相关。为帮助伙伴干杯!现在工作很好。看到一个被不公正地接受的错误答案总是很有趣的。答案怎么会错呢?它解决了OP的问题。更有趣的是,我想说,看到一个不公正的批评而没有任何批评。