我正在为一个带有PHP表单处理器的客户端创建一个小型网站。如果Web服务器中没有PHP,我希望联系表单回退到mailto
方法。这看起来很奇怪,但我只需要确保他们可以在任何地方部署它。
现在我有:
form method="post" action="my_form_processor.php"
无论如何都要处理这个问题?
答案 0 :(得分:1)
您可以在目录中提供两个文件:index.html和index.php。除了表单的工作方式外,内容是相同的。
如果安装了php,它将(通常可以根据服务器配置进行更改)在index.html服务主页时更喜欢index.php。如果不存在php,服务器将改为服务index.html。
链接时,只需转到目录而不是文件。例如链接到example.com/foo/而不是example.com/foo/index.php。
虽然我同意评论说你可能想做别的事情,比如需要php,因为表单mailto有点糟糕,而且php很常见。
答案 1 :(得分:1)
这听起来不错,但技术上难以解决:
var myVar = "<?php echo 'php'; ?>";
myVar === 'php'
的javascript中进行测试,如果结果为action
,则更改表单的false
属性。当然,如果访问者已禁用javascript,这也会失败,因此您最好向客户端提供服务器要求列表。
答案 2 :(得分:1)
这是一个坏主意。如果您的客户拒绝安装服务器端语言,他们将无法获得动态网站。
只是为了好玩,你可能会做这样的事情:
<script>
if ('<?php ?>'.length != 0) {
$('#form').attr('action', 'mailto:fallback@example.com');
}
</script>