LAMP 堆栈 - 404 未找到 - PHP
LAMP Stack - 404 not found - PHP
您好,我正在尝试配置 LAMP 堆栈
CentOS 7
阿帕奇
数据库
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
。
我是不是遗漏了什么,一切看起来都应该适用于所有权限等等。
这是我第一次这样做,但我很好地遵循了说明...任何指示都很好。
非常感谢
您的表单操作指向磁盘上的某个位置,而不是相对于您的 public HTML 文件夹的位置。
改变这个:
<form action="/var/www/example.com/public_html/info.php" method="POST">
对此:
<form action="info.php" method="POST">
另请记住,您的代码库容易受到 SQL 注入的攻击(例如,尝试向您的表单输入之一添加单引号)。
您需要将表单操作更改为以下内容
<!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>
您好,我正在尝试配置 LAMP 堆栈
CentOS 7 阿帕奇 数据库 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
。
我是不是遗漏了什么,一切看起来都应该适用于所有权限等等。
这是我第一次这样做,但我很好地遵循了说明...任何指示都很好。
非常感谢
您的表单操作指向磁盘上的某个位置,而不是相对于您的 public HTML 文件夹的位置。
改变这个:
<form action="/var/www/example.com/public_html/info.php" method="POST">
对此:
<form action="info.php" method="POST">
另请记住,您的代码库容易受到 SQL 注入的攻击(例如,尝试向您的表单输入之一添加单引号)。
您需要将表单操作更改为以下内容
<!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>