我是一名新手编码器,正在开发我的第一个php项目。一个网站有一个简单的php contactform我试图完成但我一直遇到意外错误。我现在尝试了很多东西,我在Stackoverflow上发现并自己解决了一些错误,但我现在感到很茫然。我希望有人会审查我的代码,以帮助我看到我在这里缺少的东西。任何让我重回正轨的帮助都非常感谢。
编辑:尝试更多关于主题
的帖子我希望这个脚本做什么:
- 制作姓名,电子邮件和消息必填字段
- 使表格安全,防止恶意。这就是我在Securing a contact form script
截至目前的完整代码:
<?php
$name = isset($_POST['name']) ? check_input($_POST['name']) : "";
$email = isset($_POST['email']) ? check_input($_POST['email']) : "";
$company = isset($_POST['company']) ? check_input($_POST['company']) : "";
$message = isset($_POST['message']) ? check_input($_POST['message']) : "";
$from = 'From: ZZZ Reactieformulier';
$to = 'emailadres@mailserver.nl';
$subject = 'Reactie via website';
$body = "Afzender: $name\n E-mailadres: $email\n Bedrijfsnaam: $company\n
Bericht: $message";
function check_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if ($_POST['submit']) {
if ($name !='' && $email !='' && $message !='') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Uw bericht is succesvol verzonden!</p>';
} else {
echo '<p>Er is iets misgegaan, probeer het alstublieft
opnieuw</p>';
}
} else {
echo '</p>De velden Naam, E-mail en Bericht zijn verplicht</p>';
}
}
?>
答案 0 :(得分:1)
您的三元运营商错了:
$name = isset($_POST['name']) ? check_input($_POST['name']);
应该是
$name = isset($_POST['name']) ? check_input($_POST['name']) : "";