-2

我正在为带有 PHP 表单处理器的客户端创建一个小型网站。mailto如果 PHP 在 Web 服务器中不可用,我希望联系表单回退到该方法。这看起来很奇怪,但我只需要确保他们可以在任何地方部署它。

现在我有:

form method="post" action="my_form_processor.php"

有没有办法处理这个?

4

3 回答 3

1

这是一个坏主意。如果您的客户拒绝安装服务器端语言,他们将不会获得动态网站。

只是为了好玩,你可能会做这样的事情:

<script>
    if ('<?php ?>'.length != 0) {
        $('#form').attr('action', 'mailto:fallback@example.com');
    }
</script>
于 2012-12-13T01:25:26.353 回答
1

这听起来是个坏主意,但在技术上并不难解决:

  • 使用 php 设置一个 javascript 变量:var myVar = "<?php echo 'php'; ?>";
  • 在 javascript 中测试 ifmyVar === 'php'并更改action表单的属性(如果结果)false

当然,如果访问者禁用了 javascript,这也会失败,因此您最好为您的客户提供服务器要求列表。

于 2012-12-13T01:21:44.403 回答
1

您可以在一个目录中提供两个文件:index.html 和 index.php。内容是相同的,除了表单的工作方式。

如果安装了 php,它将(通常,可以根据服务器配置更改)在提供主页时更喜欢 index.php 而不是 index.html。如果 php 不存在,服务器将改为提供 index.html。

链接时,只需转到目录而不是文件。例如链接到 example.com/foo/ 而不是 example.com/foo/index.php。

虽然我同意评论说你可能想做其他事情,比如需要 php,因为 form mailto 有点糟糕,而 php 真的很常见。

于 2012-12-13T01:20:01.330 回答