У меня есть сайт работает на Windows Server 2008.405 HTTP Error - PHP POST
Сайт HTML и имеет две формы, которые POST в PHP скриптов (как для отправки по электронной почте).
Эта ошибка появляется, однако, когда я нажимаю кнопку отправки на странице
«405. - HTTP глагол используется для доступа к этой странице не допускается Страница, которую вы ищете не может быть отображена, так как недопустимый метод (HTTP-глагол) использовался для попытки доступа ».
Осмотревшись в Интернете, я попробовал несколько решений, но ни один из них не работает.
Я попытался добавить расширение .html, позволяющее POST, GET в iis Manager (добавив управляемый обработчик), однако это, похоже, не работает.
любые идеи? любая помощь будет оценена!
EDIT:
HTML код формы:
<form id="form1" name="form1" method="post" action="mail.php">
<fieldset>
<legend><strong>Please fill out our contact form</strong></legend>
<table width="622" border="0">
<tr>
<td width="277">Name*</td>
<td width="335"><input class="purple" name="nickname" type="text" id="nickname" /></td>
</tr>
<tr>
<td>EMail*</td>
<td><input class="purple" name="email" type="text" id="email" /></td>
</tr>
<tr>
<td>Phone No.</td>
<td><input class="purple" name="tel" type="text" id="tel" /></td>
</tr>
<tr>
<td>Company Name*</td>
<td><input class="purple" name="comp" type="text" id="comp" /></td>
</tr>
<tr>
<td>Query</td>
<td><textarea class="purple" name="message" cols="53" rows="10" id="message"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="Submit" type="submit" value="Submit"/>
<label>
<input name="reset" type="reset" id="reset" value="Reset" />
<input type="hidden" name="ip" value=" echo $REMOTE_ADDR; " />
</label></td>
</tr>
<tr>
<td>*Required Fields</td>
<td></td>
</tr>
<tr>
<td colspan="2"><h3>Why not call us? 021 4868150</h3>
<p> </p></td>
</tr>
</table>
</fieldset>
</form>
PHP SCRIPT
<?php
$nickname = $_REQUEST['nickname'] ;
$email = $_REQUEST['email'] ;
$tel = $_REQUEST['tel'] ;
$comp = $_REQUEST['comp'] ;
$message = $_REQUEST['message'] ;
// Let's check if all fields are filled in!
if(empty($nickname) || empty($email) || empty($comp))
{
$error = "All of the required fields have not been completed, <a href=\"javascript:history.go(-1)\">please click here to go back.</a>";
}
else
{
$content= "$nickname has sent you an e-mail from ePubDirect
Query:
$message
You can contact $nickname via Email: $email. <br />Other relevant details of individual: <br />Telephone Number: $tel <br />Company: $comp";
mail("[email protected]", " Query", $content, "From: $email"); //first thing has to be address it is going to, then what the subject of the mail should be, the content and a from address which will be the query submitter.
echo "<h2>$nickname</h2><br></br>
Your query has been succesfully sent. <br></br><br></br>
We will deal with this query and be in touch as soon as possible.<br></br><br></br><br></br>
The contact details you submitted are: <br></br><br></br>
<strong>Email:</strong> $email<br></br><br></br>
<strong>Phone:</strong> $tel<br></br><br></br>
<strong>Company:</strong> $comp<br></br><br></br>
<a //href=\"javascript:history.go(-1)\"> Click here to return to the contact page.</a></br>";
};
?>
У вас есть URL-адрес Rewrites? если sop присоединить их к вашему OP. – RobertPitt
Я обновил код, который я использую. Я пробовал это с моей собственной хостинговой компанией, и она сработала, поэтому я уверен, что это не код. Я думаю, что это как-то связано с настройкой сервера IIS, но я просто не знаком с этой областью. – 109221793