PHP Form выдает неправильную ошибку, что все поля должны быть заполнены - PullRequest
0 голосов
/ 27 ноября 2018

Эта форма PHP была создана на промежуточном веб-сайте для целей тестирования.Когда форма заполнена на этом промежуточном сайте, она правильно отправляет электронное письмо на мой электронный адрес.Этот код был загружен на веб-сайт prod и по любой причине, когда форма отправляется, в том числе, когда все поля проверены на правильность, форма обновляется сообщением о проверке, в котором указано, что все поля обязательны для заполнения.На промежуточном сайте эта проблема не возникает, и контактные электронные письма отправляются.На prod сервере выдается ошибка и никакие контактные письма не отправляются.Мы не уверены, почему это происходит - любая ясность будет оценена.Постановка работает 5.3, Prod 5.4 и Godaddy.Postmaxsize = 128 МБ.

HTML для формы

<!-- Form Section -->
<br>
<div class="section_container_500">
    <form id="contact_form" method="POST" name="contactform" action="contact-form-handler.php"> 
                    <p class="contact_error_text">Oops! All fields are required.</p>

        <p>
        <label for="name">Full Name<span style="color: red;">*</span></label> <br>
        <input class="text_input" type="text" name="name">
        </p>
        <p>
        <label for="email">Email Address<span style="color: red;">*</span></label> <br>
        <input class="text_input" type="text" name="email"> 
        <br>
        </p>
        <p>
        <label for="user">I am a…</label> <br>
        <select class="text_input" name="user">
            <option value="patient">Patient</option>
            <option value="HSP">Health Service Provider</option>
            <option value="investor">Investor</option>
            <option value="other">Other</option>
        </select>
        </p>
        <p>
        <label for="phone">Phone Number (Optional)</label> <br>
        <input class="text_input" type="tel" name="phone"> <br>
        </p>
        <p>
        <label for="message">Message<span style="color: red;">*</span>:</label> <br>
        <textarea class="text_input" name="message"></textarea>
        </p>
        <input class="mid_CTA, form_submit" style="display: block; margin: auto;" type="submit" value="Send"><br>
    </form>
</div>
<br><br>

PHP для формы

 <!-- Code for validating the form -->
<script>
    var frmvalidator  = new Validator("contactform");
    frmvalidator.addValidation("name","req","Please provide your name"); 
    frmvalidator.addValidation("email","req","Please provide your email"); 
    frmvalidator.addValidation("email","email","Please enter a valid email address"); 
</script>

 <?php 
        $errors = '';
        $myemail = 'fake@fakeemail.com';
        if(empty($_POST['name'])  || 
           empty($_POST['email']) || 
           empty($_POST['message']))
        {
            $errors .= "\n Error: all fields are required";
        }

        $name = $_POST['name']; 
        $email_address = $_POST['email']; 
        $message = $_POST['message'];
        $user = $_POST['user']; 
        $phone = $_POST['phone']; 

        if (!preg_match(
        "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
        $email_address))
        {
            $errors .= "\n Error: Invalid email address";
        }

        if( empty($errors))
        {
            $to = $myemail; 
            $email_subject = "Contact form submission: $name";
            $email_body = "You have received a new message. ".
            " Here are the details:\n Name: $name \n Email: $email_address \n User Type: $user \n Phone: $phone \n Message: $message"; 
...