繁体   English   中英

联系表格和输入验证问题

[英]Problems with contact form and input validation

好的,所以我试图创建一个联系表单来验证用户输入,以防止黑客提交代码,并尝试仅要求输入数字,文本和电子邮件。 我已经设置了样式并导入了我的php文件。 来自的联系人会将其发送到我的Gmail帐户。 但是每次我测试php时,它都允许输入任何类型的数据,无论它是否应该是数字和字母都已提交,反之亦然。 如果我能在告诉我哪里出了问题时得到一些帮助,那将是很好的。 我是编程的初学者,只有从学校学到的知识,但是我非常擅长html和CSS,但是php验证存在问题。 该表格发送电子邮件,但就像我说的那样,它允许任何和所有输入。

    <?php
$name = $_POST['name'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: www.webdesignheros.com';
$to = 'heenanwrk@gmail.com';
$subject = 'Service Email for HeenanTech';
    $tel = filter_input(INPUT_POST, 'tel', FILTER_SANITIZE_INT);
    $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING|FILTER_FLAG_NO_ENCODE_QUOTES);
    $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
    $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING|FILTER_FLAG_NO_ENCODE_QUOTES);

$body = "From: $name\n Phone: $tel\n Email: $email\n Message: $message\n";
?>

<?php
if ($_POST['submit']){
    if(mail($to, $subject, $body, $from)){
    echo'<p>Thank you for your email!</p>';
    } else {
    echo '<p> Oops! Something went wrong, try sending your message again</p>';
    }
}

?>

此外,可以在[ http://webdesignheros.com/Contact.html][1]中找到该表格

[1]: http : //webdesignheros.com/Contact.html ,如果有人可以告诉我如何在提交之前拒绝某些输入,那也太好了。 例如,如果输入了无效的条目,而他们继续进行下一个输入,它将拒绝该条目,而不是按下提交按钮。 我会在html中使用pattern="az"还是为此添加JavaScript?

    <?php
    if (isset($_POST["submit")){
 $name = $_POST["name"];
    $tel = $_POST["tel"];
    $email = $_POST["email"];
    $message = $_POST["message"];
    $from = "From: www.webdesignheros.com";
    $to = "heenanwrk@gmail.com";
    $subject = "Service Email for HeenanTech";
    $body = "From: $name\n Phone: $tel\n Email: $email\n Message: $message\n";
    mail($to, $subject, $body, $from);

        if(mail($to, $subject, $body, $from)){
        echo'<p>Thank you for your email!</p>';
        } else {
        echo '<p> Oops! Something went wrong, try sending your message again</p>';
        }
    }

    ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM