您好我正在尝试配置LAMP堆栈
CentOS 7 阿帕奇 MariaDB的 PHP
我已经安装了所有内容并配置了我的虚拟主机和文件夹。
为了测试,我有一个域名。 example.com
在/var/www/example.com/public_html
我有两个文件。
Index.html(基本页面)
<!DOCTYPE HTML PUBLIC>
<html>
<body>
<form action="/var/www/example.com/public_html/info.php" method="POST">
Department: <input type="text" name="department"><br><br>
Subname: <input type="text" name="Subname"><br><br>
lables: <input type="text" name="lables"><br><br>
pagerduty: <input type="text" name="pagerduty"><br><br>
description: <input type="text" name="description"><br><br>
<input type="submit" value="Submit" name="submit">
</form>
</body>
</html>
info.php(表单处理程序)
<?php
$hostname = "localhost";
$username = "root";
$password = "xxxxxxxxx";
$db = "dora";
$dbconnect=mysqli_connect($hostname,$username,$password,$db);
if ($dbconnect->connect_error) {
die("Database connection failed: " . $dbconnect->connect_error);
}
if(isset($_POST['submit'])) {
$department=$_POST['department'];
$subname=$_POST['subname'];
$lables=$_POST['lables'];
$pagerduty=$_POST['pagerduty'];
$description=$_POST['description'];
$query = "INSERT INTO dora (department, subname, lables, pagerduty, description)
VALUES ('$department', '$subname', '$lables', '$pagerduty', '$description')";
if (!mysqli_query($dbconnect, $query)) {
die('An error occurred when submitting your review.');
} else {
echo "Thanks for your review.";
}
}
?>
转到http://localhost:80 - 加载我的index.html页面
转到http://localhost:80/info.php - 加载PHP屏幕
我的问题是,当我填写表单并点击提交时,我收到404错误,其中info.php
无法找到。
我错过了什么,一切看起来应该可以使用所有权限等。
这是我第一次这样做,但我很好地遵循了指示......任何指针都会很棒。
非常感谢
答案 0 :(得分:1)
您的表单操作指向磁盘上的某个位置,而不是指向相对于公共HTML文件夹的位置。
改变这个:
<form action="/var/www/example.com/public_html/info.php" method="POST">
到此:
<form action="info.php" method="POST">
另请注意,您的代码库容易受到SQL注入的攻击(例如,尝试在其中一个表单输入中添加单引号)。
答案 1 :(得分:1)
您需要将表单操作更改为以下
<!DOCTYPE HTML PUBLIC>
<html>
<body>
<form action="info.php" method="POST"> Department: <input type="text" name="department"><br><br> Subname: <input type="text" name="Subname"><br><br> lables: <input type="text" name="lables"><br><br> pagerduty: <input type="text" name="pagerduty"><br><br> description: <input type="text" name="description"><br><br>
<input type="submit" value="Submit" name="submit"> </form> </body>