当 运行 一个 php 文件时,如何修复“404 页面未找到”错误?
How do fix '404 page not found' error when running a php file?
我刚开始学习 php,当我 运行 我的 php 文件时,无论浏览器如何,我都会收到 404 错误。我的代码缺少什么导致了这个?该文件应该在用户提交 'contact me' 表单后显示一条消息。
<!DOCTYPE html>
<html lang="">
<head>
<title>Contact Form Submitted</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<p>
Thank you, <?php echo $_POST["name"]; ?> for your comments<br>
You stated in your test Message:<br>
<?php echo $_POST["message"]; ?>
We will respond to you at <?php echo $_POST["email"]; ?> when we make updates to the site.
</p>
</body>
</html>
此代码有效。看到这是火狐浏览器:https://i.imgur.com/YeBFt9B.png
<?php
// var // variable value // default value
$php_path = $_SERVER['PHP_SELF'] ?? "";
$name = $_POST["name"] ?? "name";
$message = $_POST["message"] ?? "message";
$email = $_POST["email"] ?? "email";
?>
<!DOCTYPE html>
<html lang="">
<head>
<title>Contact Form Submitted</title>
</head>
<body>
<form action="<?= $php_path ?>" method="POST">
<p>
Thank you, <?= $name ?> for your comments<br>
You stated in your test Message:<br>
<?= $message ?>
<br><br>
We will respond to you at <?= $email ?> when we make updates to the site.
</p>
</form>
</body>
</html>
如果您没有为来自其他表单的参数指定默认值,您可能 运行 会出现意外错误。这个版本更好;)
我确定您收到此错误是因为您的某个网址中有拼写错误
首先在
中使用htmlspecialchars
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
如果用户输入 url,您将阻止 XSS attack:http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
如果您收到 404 错误,可能是因为您在 contact me
页面上的表单操作没有指向正确的脚本。
如果您有两个单独的文件,一个用于表格,第二个用于感谢消息,您必须确保 url 是正确的。
// form.php
...
<form action="thanks-message.php">
...
</form>
...
// thanks-message.php
<?php
$name = $_POST["name"] ?? "Joe";
$message = $_POST["message"] ?? "Lorem ipsum...";
$email = $_POST["email"] ?? "joe@example.com";
?>
...
<p>
Thank you, <?= $name ?> for your comments<br>
You stated in your test Message:<br>
<?= $message ?>
<br><br>
We will respond to you at <?= $email ?> when we make updates to the site.
</p>
...
form
此页面不需要元素
我刚开始学习 php,当我 运行 我的 php 文件时,无论浏览器如何,我都会收到 404 错误。我的代码缺少什么导致了这个?该文件应该在用户提交 'contact me' 表单后显示一条消息。
<!DOCTYPE html>
<html lang="">
<head>
<title>Contact Form Submitted</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<p>
Thank you, <?php echo $_POST["name"]; ?> for your comments<br>
You stated in your test Message:<br>
<?php echo $_POST["message"]; ?>
We will respond to you at <?php echo $_POST["email"]; ?> when we make updates to the site.
</p>
</body>
</html>
此代码有效。看到这是火狐浏览器:https://i.imgur.com/YeBFt9B.png
<?php
// var // variable value // default value
$php_path = $_SERVER['PHP_SELF'] ?? "";
$name = $_POST["name"] ?? "name";
$message = $_POST["message"] ?? "message";
$email = $_POST["email"] ?? "email";
?>
<!DOCTYPE html>
<html lang="">
<head>
<title>Contact Form Submitted</title>
</head>
<body>
<form action="<?= $php_path ?>" method="POST">
<p>
Thank you, <?= $name ?> for your comments<br>
You stated in your test Message:<br>
<?= $message ?>
<br><br>
We will respond to you at <?= $email ?> when we make updates to the site.
</p>
</form>
</body>
</html>
如果您没有为来自其他表单的参数指定默认值,您可能 运行 会出现意外错误。这个版本更好;)
我确定您收到此错误是因为您的某个网址中有拼写错误
首先在
中使用htmlspecialchars
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
如果用户输入 url,您将阻止 XSS attack:http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
如果您收到 404 错误,可能是因为您在 contact me
页面上的表单操作没有指向正确的脚本。
如果您有两个单独的文件,一个用于表格,第二个用于感谢消息,您必须确保 url 是正确的。
// form.php
...
<form action="thanks-message.php">
...
</form>
...
// thanks-message.php
<?php
$name = $_POST["name"] ?? "Joe";
$message = $_POST["message"] ?? "Lorem ipsum...";
$email = $_POST["email"] ?? "joe@example.com";
?>
...
<p>
Thank you, <?= $name ?> for your comments<br>
You stated in your test Message:<br>
<?= $message ?>
<br><br>
We will respond to you at <?= $email ?> when we make updates to the site.
</p>
...
form
此页面不需要元素