php - HTML 表单数据不会通过 PHP 处理提交,我需要启用远程访问吗?
问题描述
所以我做了一个简单的表格,并试图发布到我在 GoDaddy Cpanel 上创建的数据库。我不确定我是否没有在服务器端启用某些东西,或者我只是在我的代码中做了一些愚蠢的事情。我点击提交以提交我的表单,我得到“mysite.com 目前无法处理此请求”
这是我的html表单:
<form id="contactForm" action="formdb.php" method="post">
<div class="rGroup">
<label for="Contact Name">Name: </label>
<input type="text" name="Name" size="46"><br><br>
<label for="email">Email:</label>
<input type="email" name="Email" size="46"><br><br>
<label for="Contact Number">Phone:</label>
<input type="tel" name="Phone"><br><br>
<label for="interest">Interested in:</label><br><br>
<input type="radio" name="Interest" value="WebDev" checked>Web Development<br>
<input type="radio" name="Interest" value="SoftDev">Software Development <br>
<input type="radio" name="Interest" value="Other">Other<br><br><br>
<label for="Message">Comments:</label><br>
<textarea name="Message" form="contactForm" rows="8" cols="50"
placeholder="Brief description, please submit as rendered."></textarea>
<input id="submitButt" type="submit" value="Submit">
</div>
</form>
我的 php 来处理表单:
<?php
//Make Database connection.
$dbhost = "localhost";
$dbuser = 'user';
$dbpass = 'password';
$dbname = "InterestedContacts";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if(mysqli_connect_errno()){
die("Database connection failed: " .
mysqli_connect_error() . ")"
);
}
//Perform insert of data
$Name = $_POST['clientName'];
$Phone = $_POST['Phone'];
$Email = $_POST['Email'];
$Message = $_POST['Message'];
$Interest = $_POST['Interest'];
//Sanitize data and add escape string
$Name = mysqli_real_escape_string($connection, $Name);
$Phone = mysqli_real_escape_string($connection, $Phone);
$Email = mysqli_real_escape_string($connection, $Email);
$Message = mysqli_real_escape_string($connection, $Message);
$Interest = mysqli_real_escape_string($connection, $Interest);
$query = "INSERT INTO Prospects (clientName, Email, Phone, Message, Interest)
VALUES ('" .$_POST["clientName"]."','".$_POST["Email"]."','".$_POST["Phone"]."','".$_POST["Message"]."','".$_POST["Interst"]."')";
$result = mysqli_query($connection, $query);
//Test to see if query had error_get_last
if($result){
//SUCCESS
header('Location: thankyou.html');
}else{
//FAILURE
die("Database query failed. " . mysqli_error($connection));
}
ini_set('display_errors', 1); error_reporting(-1);
mysqli_close($connection);
?>
更新:我将 PHP 代码更新为我现在所拥有的,我安装了 PHPStorm 并且无法连接到我的数据库来测试文件,我一直被告知我的用户和密码不正确,但它绝对不是.
解决方案
您发布的代码中有一些错误。
$dbpass = "password"; // add semi colon
和
$Interest = $_POST['Interest']; // angle brace not flower brace
在下面的查询中,您有一个额外的单引号将其删除。
$query = "INSERT INTO Prospects (Name, Phone, Email, Message)
VALUES ('".$_POST["Name"]."','".$_POST["Phone"]."','".$_POST["Email"]."','".$_POST["Interst"]."','".$_POST["Message"]."')";
删除查询中的添加 '
试试这个并检查
推荐阅读
- reactjs - 我在 react 的帮助下建立了一个简单的彩票合同,但在网页中出现错误
- regex - 如何删除记事本++中两个模式之间的所有行?
- azure - 如何使用 powershell 从 Azure keyvault 下载 .cer 格式的证书?
- amazon-web-services - 如何创建 AWS 安全组并在不同的 .tf 文件中使用它?
- python - 通过 TCP 安装 Python 包 (pip)
- windows - 无法在 WebStorm 中将行分隔符设置为 LF
- c - C中的排序算法(降序)问题
- firebase - 如何在 Flutter 上为我的电子商务应用添加购物车页面?
- elasticsearch - Elasticsearch 无法启动并且没有日志 centOS
- android - 手机重启后的 WorkManager 行为?