【问题标题】:Trouble completing a simple contactform [closed]无法完成简单的联系表[关闭]
【发布时间】:2017-10-03 21:01:09
【问题描述】:

我是一名新手编码员,目前正在处理我的第一个 php 项目。一个网站有一个简单的 php 联系表,我正在尝试完成,但我一直遇到意外错误。我现在已经尝试了很多东西,我在 Stackoverflow 上发现并自己解决了一些错误,但我现在不知所措。我希望有人会查看我的代码以帮助我了解我在这里缺少什么。非常感谢任何能让我重回正轨的帮助。

编辑:试图让这篇文章更多地关注主题

我希望这个脚本做什么:
- 填写姓名、电子邮件和消息必填字段
- 使表单安全,防止恶意意图。这就是为什么我在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>';
        }

    }   
?>

【问题讨论】:

标签: php contact-form


【解决方案1】:

你的三元运算符错了:

$name = isset($_POST['name']) ? check_input($_POST['name']);

应该是

$name = isset($_POST['name']) ? check_input($_POST['name']) : "";

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多