表单在 1 和 1 主机上工作,但在正确的主机上不工作

Posted

技术标签:

【中文标题】表单在 1 和 1 主机上工作,但在正确的主机上不工作【英文标题】:Form worked on 1 and 1 host but not working on correct host 【发布时间】:2012-01-12 10:31:51 【问题描述】:

我有一个在 asp 页面中创建的表单,它提交到 php 页面。当我在我不想要文件的主机上测试它时,这是有效的。我将它添加到 1and1 主机,因为这是我更频繁地使用它来测试它。

我在 fasthost 上托管的叔叔网站需要它,问题是我在按发送时收到此错误:

405 - HTTP verb used to access this page is not allowed.
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.

我不明白这在 1and1 上有效,为什么当我在那里上传文件时这在 fasthost 上无效?

我将非常感谢任何答案。

谢谢

编辑: 我已经搜索和搜索并遇到了帮助文件。 这个问题似乎与实际主机有关,并将 -f 添加到 php 文件中。我还没有得到这个工作,但会感谢任何帮助。我看到这个页面是http://www.fasthosts.co.uk/knowledge-base/?article_id=70

我已经编辑了 php 文件,这不起作用 php 代码是:

 <?php


$name= $_POST['frmName'];
$email_from = $_POST['frmEmail'];
$field_phone = $_POST['frmPhone'];
$field_address = $_POST['frmAddress'];
$field_referral = $_POST['frmReferral'];
$field_frmCallback = $_POST['frmCallback'];
$field_frmEnquiry = $_POST['frmEnquiry'];

$email_to = 'info@moroccanpropertiesltd.com';


$body_message = 'From: '.$name."\n";
$body_message .= 'E-mail: '.$email_from."\n";
$body_message .= 'Phone: '.$field_phone."\n";
$body_message .= 'Address: '.$field_address."\n";
$body_message .= 'Referral: '.$field_referral."\n";
$body_message .= 'Callback: '.$field_frmCallback."\n";
$body_message .= 'Enquiry: '.$field_frmEnquiry;

$headers = "MIME-Version: 1.0\r\n";
$headers = 'From: '.$frmEmail."\r\n";
$subject = "Moroccan Properties Customer";


 $headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";


$message = "This is a MIME encoded message."; 

 $message .= "\r\n\r\n--" . $boundary . "\r\n";
 $message .= "Content-type: text/plain;charset=utf-8\r\n\r\n";
 $message .= "This is the text/plain version.";

 $message .= "\r\n\r\n--" . $boundary . "\r\n";
 $message .= "Content-type: text/html;charset=utf-8\r\n\r\n";
 $message .= "This is the <b>text/html</b> version.";

 $message .= "\r\n\r\n--" . $boundary . "--";

 ini_set("sendmail_from", "info@moroccanpropertiesltd.com");

$mail_status = mail($email_to, $subject, $body_message, $headers, "-finfo@moroccanpropertiesltd.com");

if ($mail_status)  ?>
    <script language="javascript" type="text/javascript">
        alert('Thank you for the message. We will contact you shortly.');
        window.location = 'http://www.moroccanpropertiesltd.com/contact.asp';
    </script>
<?php

else  ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed. Please, send an email to info@moroccanpropertiesltd.com');
        window.location = 'url';
    </script>
<?php

?>

如果有人能指出我做错了什么,我将不胜感激。

谢谢

【问题讨论】:

supportsages.com/blog/2010/02/… 【参考方案1】:

听起来您的主机没有设置为托管 .php 页面?您是否尝试过使用 .asp 版本?通常你不会混合使用这两种脚本语言。

【讨论】:

【参考方案2】:

您必须使用 Fasthosts 启用脚本,它在网站下的控制面板中,可以选择不同版本的 PHP,以及 ASP 等。

【讨论】:

以上是关于表单在 1 和 1 主机上工作,但在正确的主机上不工作的主要内容,如果未能解决你的问题,请参考以下文章

Aweber 表单在 ios7、iPad 或 iPhone 上不工作(但在笔记本电脑上工作)

自定义编写的 Nagios 插件总是返回不正确的值,但在命令行上工作

html 表单中的输入文本框在 Firefox 上正常工作 在 Chrome 和 Safari 上不工作

PHP Captcha 在服务器上不起作用,但在本地工作

表单提交按钮在智能手机上不起作用

我的一些 Laravel 路由(PUT 和 DELETE)在共享主机上不起作用