[英]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.