【问题标题】:Does netlify block php form handling?netlify 会阻止 php 表单处理吗?
【发布时间】:2018-12-08 04:02:45
【问题描述】:

我将我所有的网站都切换到了 git 和 netlify,但现在我的联系表格都不适用于我的静态网站。有谁知道他们是否阻止您使用自己的 php 表单处理?

他们以前都工作过。我阅读了一些 netlify 关于表单处理的信息,但这听起来不是强制性的。我想保留我已有的表格,不要使用他们的。

这就是我所拥有的: (我无法显示联系表格,因为堆栈溢出实际上是在拾取 html 并阅读它。没有发布代码。它只会将标签之间的单词放在标签本身而不是标签本身......虽然她是一张照片:

    <script>
function submitContactForm(){
  var reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
  var name = $('#inputName').val();
  var email = $('#inputEmail').val();
  var phone = $('#inputPhone').val();
  var message = $('#inputMessage').val();
  if(name.trim() == '' ){
    alert('Please enter your name.');
    $('#inputName').focus();
    return false;
  }else if(email.trim() == '' ){
    alert('Please enter your email.');
    $('#inputEmail').focus();
    return false;
  }else if(email.trim() != '' && !reg.test(email)){
    alert('Please enter valid email.');
    $('#inputEmail').focus();
    return false;
  }else if(phone.trim() == '' ){
    alert('Please enter valid phone number.');
    $('#inputPhone').focus();
    return false;
  }else{
    $.ajax({
        type:'POST',
        url:'contactForm.php',
     data:'contactFrmSubmit=1&name='+name+'&email='+email+'&phone='+phone+'&message='+message,
        beforeSend: function () {
            $('.submitBtn').attr("disabled","disabled");
            $('.modal-body').css('opacity', '.5');
        },
        success:function(msg){
            if(msg == 'ok'){
                $('#inputName').val('');
                $('#inputEmail').val('');
                $('#inputPhone').val('');
                $('#inputMessage').val('');
                $('.statusMsg').html('<span style="color:green;">Thanks for contacting us, we\'ll get back to you as soon as possible.</p>');
            }else{
                $('.statusMsg').html('<span style="color:red;">Some problem occurred, please try again.</span>');
            }
            $('.submitBtn').removeAttr("disabled");
            $('.modal-body').css('opacity', '');
        }
    });
  }
}
</script>

这是我在网上找到的:

$("#my-form").submit(function(e) {
  e.preventDefault();

  var $form = $(this);
  $.post($form.attr("action"), $form.serialize()).then(function() {
    alert("Thank you!");
  });
});

【问题讨论】:

  • 我确实对您的问题进行了编辑。当您不要求他们如何回答时,人们将更有可能提供帮助。 :) 你花时间发布一个例子做得很好,所以我们可以看到你在做什么。
  • 哈哈谢谢我只是厌倦了我在这里看到的一些巨魔答案。哈哈,再次感谢。
  • 我明白了,可悲的是,人们无法像当面那样行事。你我想要做的不是延续这种行为,而是以身作则。 :) 至少,我们可以尽力而为,忽略这些怪人。

标签: netlify


【解决方案1】:

根据表单的提交,目标url为contactForm.php

$.ajax({
    type:'POST',
    url:'contactForm.php'
    .
    .
.....

虽然 Netlify 允许在静态站点构建时运行 PHP 代码,但 CDN 上没有 php 运行时,因此不会有 php 端点来处理您的提交。

这是不可能的。

一些选项

将您的表单发布到将接受您的 PHP 表单提交的外部服务器(旧服务器)url。

使用第三方表单 API 提交您的表单。

使用 Netlify 表单。

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多