【发布时间】:2021-05-13 16:46:13
【问题描述】:
我正在尝试使用表单创建一个页面,该页面允许人们提交请求以成为我正在为其创建网站的非营利组织的志愿者。然后,这些请求应登录到 phpmyadmin 上名为“志愿者”的数据库中。至于服务器,我正在尝试将 Xampp 与 Apache 和 MySQL 一起使用。然而,在测试我的页面时,我只是收到错误:无法发布/Connection.php。在我的故障排除的某个时间点,它只是显示了一个 php 代码页面而不是无法发布消息,同时仍然没有将数据发送到 phpmyadmin,但是现在它又回到了旧的无法发布的东西。
作为参考,我这里的两个文件,html 文件“Register Volunteer.html”和 php 文件“Connection.php”位于同一个文件夹中,该文件夹位于 Xampp 的 htdocs 中。服务器也处于活动状态并以管理员权限运行。 php 文件很大程度上基于我一年前完成的大学家庭作业。我觉得我的头撞墙太久了。我的代码中是否有任何让任何专家想到的缺陷?我可能需要另一个文件吗?
这里是“Register Volunteer.html”...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Soaring Dreams - Home</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="bannerimage"></div>
<header class = "aligncenter"></header>
<hr>
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="About%20Us.html">About Us</a></li>
<li><a href="Gallery.html">Gallery</a></li>
<li><a href="Our%20Volunteers.html">Our Volunteers</a></li>
<li><a href="Custom%20Goods.html">Custom Goods</a></li>
</ul>
</nav>
<h2><i>Volunteer Registration</i></h2>
<form action="/Connection.php" method="post">
<fieldset>
<label> First name </label>
<input type="text" id="firstName" name="firstName" placeholder= "Firstname" size="20" required />
<br>
<label> Last name </label>
<input type="text" id="lastName" name="lastName" placeholder= "Lastname" size="20" required />
<br>
<label> Date of Birth </label>
<input type="date" id="age" name="age" required />
<br>
<label> Phone Number </label>
<input type="text" id="phoneNumber" name="phoneNumber" placeholder= "+1(123)123-1234" size="20" required />
<br>
<label> Email </label>
<input type="text" id="email" name="email" placeholder= "Something@blah.com" size="30" required />
<br>
<br>
<label>Why do you want to volunteer?</label>
<textarea rows="6" cols="100" id="reason" name="reason" placeholder= "Add your reason" size="600" required></textarea>
<br>
<br>
< type="submit" class="registerbtn">Register</>
</fieldset>
</form>
</body>
</html>
这里是“Connection.php”...
<?php
$servername = "localhost";
$username = "root";
$password = "examplePW";
$dbname = "volunteers";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully. <br>";
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$age = $_POST['age'];
$phoneNumber = $_POST['phoneNumber'];
$email = $_POST['email'];
$reason = $_POST['reason'];
$sql = "INSERT INTO volunteerrequest(firstName, lastName, age, phoneNUmber, email, reason) VALUES" . "('$firstName', '$lastName', '$age', '$phoneNumber', '$email', '$reason')";
echo "Running SQL statement - <br>" . $sql . "<br>";
if($conn->query($sql) == TRUE)
{
echo "Request Sent <br>";
}
else{
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
再次感谢任何形式的帮助或指导。
【问题讨论】:
-
这里有类似问题的帖子Cannot POST
-
我在这里看到一些拼写错误:i.imgur.com/K2xzHy7.png 但这可能不是问题所在。也许将
enctype="multipart/form-data"添加到<form>可能会有所帮助?此外,如果Connection.php在同一个文件夹中,请像这样删除/:action="Connection.php"。这可能就是原因。 -
是的,/ 并不是问题所在,我试着把它放在那里作为故障排除的一种手段,但无论如何得到了相同的结果......我会尝试那个 enctype 编辑:不。没有骰子
-
你能发一张错误的图片吗?
-
“无法发布”不是任何基本 PHP 都会发出的错误消息 - 其他事情正在发生。在 PHP 脚本的顶部,
error_reporting(E_ALL); ini_set('display_errors', 1);- 总是在开发和测试代码时。如果您看到您的 PHP 代码呈现给浏览器,这通常表明它是像file:///path/to/Connection.php而不是http://localhost/Connection.php那样访问的,或者这意味着 Apache 中的严重错误配置。