POST事件后无法访问PHP脚本(IF)

时间:2014-08-13 19:45:25

标签: javascript php html if-statement

我是一个明显的新手。 我尝试使用HTML5和使用PHP邮件功能建立联系表单,但是,我的表单操作正在调用contacto.php但是在提交之后,它从不进入IF,它只是继续跳过此代码。我认为可能是一个支架丢失或我的HTML表格上的东西我甚至检查了PHP Mail是否正常工作,到目前为止所有内容都看起来但它只是不会执行IF。有任何想法吗?这是我的部分代码:

<?php

    $name = $_POST['nombre'];
    $email = $_POST['correo'];
    $categoria = $_POST['categoria'];
    $comentarios = $_POST['comentarios'];
    $human = $_POST['human'];
    $from = 'From: Demo ';
    $to = 'user_one@webserver.com';
    $asunto = 'New Incoming Message';

    $body = "From: $name\n Email: $email\n Pregunta: $categoria\n Comentarios: $comentarios";

    if ($_POST['submit'] && $human == '8') {                
        echo '<script language="javascript">';
        echo 'alert("Information made it to IF")';
        echo '</script>';
        if (mail($to,$asunto,$body)) { 
            echo '<p>Your Message has been sent!</p>';
        } else { 
            echo '<p>An error occurred. Try again.</p>'; 
        } 
    } else if ($_POST['submit'] && $human != '8') {
        echo '<p>Wrong answer to Anti_spam. Try again!</p>';
    }
?>

<form method="post" action="contacto.php">
    <label for='nombre'>Nombre:</label>
    <input type='text' name='nombre' placeholder='Primer Nombre' required>

    <label for='correo'>Email:</label>
    <input type='email' name='correo' placeholder='Email' required>

    <label for='categoria'>Categoria:</label>
    <input type='text' name='categoria' placeholder='Category'>

    <label for='comentarios'>Comentarios:</label>
    <textarea name='comentarios' placeholder="Additional Observations..."></textarea>

    <label>¿4 + 4?</label>
    <input name="human" placeholder="resultado" required>

    <input type='submit' value='Enviar correo' id='btnSubmit'>
</form> 

2 个答案:

答案 0 :(得分:1)

做一个:

var_dump($_POST);

在页面的开头,这样你就会显示$ _POST变量中的内容。 完成后,您可能会发现问题所在:)

发布转储的内容,以防您不知道如何使用它。

答案 1 :(得分:-1)

我知道@Alex试图让你自己推断它(这是一件好事),但是对于初学者来说,你可能不会接受他所得到的东西。

您正在检查数据是否由$ _POST提交 - 这是您想要做的,但是您将$ _POST变量保存到其他变量的代码块不包含在该块中 - 所以它是在第一次加载页面时尝试保存它们,在提交时。