PHP脚本不工作。接收错误404。Web服务器确实支持PHP
我有以下表单和php脚本:PHP脚本不工作。接收错误404。Web服务器确实支持PHP,php,html,forms,Php,Html,Forms,我有以下表单和php脚本: <form method="post" action="index.php"> <h1>Contact</h1> <label>Name</label> <input name="name" placeholder="Type Here"> <label>Email</label> <input name="email"
<form method="post" action="index.php">
<h1>Contact</h1>
<label>Name</label>
<input name="name" placeholder="Type Here">
<label>Email</label>
<input name="email" type="email" placeholder="Type Here">
<label>Message</label>
<textarea name="message" placeholder="Type Here"></textarea>
<input id="submit" class="button" name="submit" type="submit" value="Submit">
</form>
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'SJW&T Contact Form';
$to = 'someone@example.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
但是我的网络主机似乎返回了一个错误404。我在年尝试了这个建议,这几乎是重复的,但没有奏效。有人看到语法错误吗?我的网络主机是000webhost.com。它没有给我实际的404消息,但它带我去的URL是error404.000webhost.com 当您没有操作页面时,可能会发生这种情况:
<form method="post" action="index.php">
您将操作页面设置为index.php,因此如果该文件不存在或位于其他位置,
您可能会遇到404错误或找不到对象
确保您有index.php,并且它与其他文件存在于同一目录中
如果要对页面本身执行操作,请执行以下操作:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
确保表单操作名与文件名相同。例如,formaction-forms.php。确保文件夹或文件名也是-forms.php尝试以下操作:
我认为这将解决您的问题。语法错误不会导致404错误。一定是出了什么问题。也许你可以试着用PHPSELF作为动作,@ByronS,那么你看到表单了吗?如果是,请将文件名改为index.php,而不是index.html。这样,您的操作是有效的,php将被处理。顺便说一句,您应该将赋值移到if语句中,并使用isset或empty来消除警告。在@jeroen的注释上展开,如果文件具有html扩展名,web服务器将不会解析任何php,因为它将页面解释为html文件。将扩展名更改为php将告诉web服务器嘿,我是一个php文件。将两者之间的任何内容解析为PHP。下面的教程要求我将PHP脚本直接放在表单下面,以便它的输出显示在表单下面。我还需要制作另一个文件吗?当然,您可以将操作页面设置为index.php,如果您希望将操作设置为页面本身,则可以执行以下操作: