无法完成简单的联系表
Trouble completing a simple contactform
我是一名编码新手,目前正在从事我的第一个 php 项目。一个网站有一个简单的 php 联系表,我正在尝试完成,但我一直 运行 出现意外错误。我现在已经尝试了很多在 Whosebug 上找到的东西并自己解决了一些错误,但我现在不知所措。我希望有人会检查我的代码以帮助我了解我在这里缺少的内容。非常感谢任何帮助我回到正轨的帮助。
编辑:试图使这个post更多关于主题
我想让这个脚本做什么:
- 填写姓名、电子邮件和消息必填字段
- 使表单免受恶意攻击。这就是为什么我在 Securing a contact form script
之后添加了 check_input 函数
截至目前的完整代码:
<?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>';
}
}
?>
你的三元运算符是错误的:
$name = isset($_POST['name']) ? check_input($_POST['name']);
应该是
$name = isset($_POST['name']) ? check_input($_POST['name']) : "";
我是一名编码新手,目前正在从事我的第一个 php 项目。一个网站有一个简单的 php 联系表,我正在尝试完成,但我一直 运行 出现意外错误。我现在已经尝试了很多在 Whosebug 上找到的东西并自己解决了一些错误,但我现在不知所措。我希望有人会检查我的代码以帮助我了解我在这里缺少的内容。非常感谢任何帮助我回到正轨的帮助。
编辑:试图使这个post更多关于主题
我想让这个脚本做什么:
- 填写姓名、电子邮件和消息必填字段
- 使表单免受恶意攻击。这就是为什么我在 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>';
}
}
?>
你的三元运算符是错误的:
$name = isset($_POST['name']) ? check_input($_POST['name']);
应该是
$name = isset($_POST['name']) ? check_input($_POST['name']) : "";