【问题标题】:HTML/PHP Email forms not functioning as wantedHTML/PHP 电子邮件表单无法正常工作
【发布时间】:2020-05-15 07:51:53
【问题描述】:

我正在为我的网站填写一份联系我们的表格,但我现在卡住了。

这是 PHP 代码:


#Receive user input
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$Message = $_POST['Message'];
$palvelu = $_POST['palvelu'];

#Filter user input
function filter_email_header($form_field) {  
return preg_replace('/[nr|!/<>^$%*&]+/','',$form_field);
}

$Email  = filter_email_header($Email);

#Send email
$headers = "From: $Email\r\n";
$sent = mail('user@example.com', 'Yhteydenotto Pyyntö: ', $Message, $headers);

#Thank user or notify them of a problem
if ($sent) {

?><html>
<head>
<title>Kiitos yhteydenotosta!</title>
</head>
<body>
<h1>Kiitos yhteydenotosta!</h1>
<p>Olemme sinuun yhteydessä mahdollisimman nopeasti!</p>
</body>
</html>
<?php

} else {

?><html>
<head>
<title>Jokin meni vikaan!</title>
</head>
<body>
<h1>Jokin meni vikaan!</h1>
<p>Emme pystyneet lähettämään viestiä?</p>
</body>
</html>
<?php
}
?>

这是表单的html代码:

            <div class="col-lg-5 d-flex align-items-stretch">
                <div class="bg-white">
                    <div class="w-100 heading-title bg-primary text-center">
                        <h2 class="mb-0">Ota meihin yhteytt&auml;!</h2>
                    </div>
                        <form action="email.php" method="post" class="appointment bg-white p-4 p-md-5">
                            <div class="row">
                                <div class="col-md-12">
                                        <div class="form-group">
                                        <div class="form-field">
                                    <div class="select-wrap">
                              <div class="icon"><span class="fa fa-chevron-down"></span></div>
                              <select name="palvelu" id="" class="form-control">
                                <option value="">Valitse palvelu</option>
                                <option value="">Sammaleen poisto</option>
                                <option value="">Katon pinnoitus</option>
                                <option value="">Tiilikaton huolto</option>
                                <option value="">Vuosihuolto</option>
                              </select>
                            </div>
                              </div>
                                    </div>
                                    </div>
                                    <div class="col-md-6">
                                        <div class="form-group">
                              <input type="text" id="Name" name="Name" placeholder="Nimi" class="form-control">
                            </div>
                                    </div>
                                    <div class="col-md-6">
                                        <div class="form-group">
                              <input type="Email" id="Email" name="Email" placeholder="S&auml;hk&ouml;posti" class="form-control">
                            </div>
                                    </div>
                                    <div class="col-md-6">
                                        <div class="form-group">
                                        <div class="input-wrap">
                                </div>
                                    </div>
                                    </div>
                                    <div class="col-md-6">
                                        <div class="form-group">
                                        <div class="input-wrap">
                                </div>
                                    </div>
                                    </div>
                                    <div class="col-md-12">
                                        <div class="form-group">
                              <textarea id="Message" name="Message" class="form-control" placeholder="Viesti" rows="6" maxlength="3000"></textarea>
                            </div>
                                    </div>
                                    <div class="col-md-12">
                                        <div class="form-group">
                              <input type="submit" value="L&auml;het&auml; viesti" class="btn btn-primary py-3 px-4">
                            </div>
                                    </div>
                            </div>
                  </form>
                </div>
                </div>
        </div>
        </div>

这是芬兰语,但我有这个列表,您可以在其中选择要讨论的工作“palvelut”,然后选择基本表格。它应该做的是发送一封电子邮件,其中包含“谁发送它”“他们想要的工作”以及基本形式的东西“名称”“电子邮件”和“消息”。但现在它似乎只发送一封只有“yhteydenotto pyyntö”的空白电子邮件,这意味着“一个新​​问题”。有人可以帮助我吗?我做错了什么...

【问题讨论】:

  • 打印$_POST["Message"]看是否不为空
  • 你是什么意思?,对不起,我真的很陌生

标签: php html email


【解决方案1】:

解决方案在这里!!! * 您的 filter_email_header 包含问题,因此我们使用 Default FILTER_SANITIZE_EMAIL 过滤器。

删除代码

#Filter user input
function filter_email_header($form_field) {  
return preg_replace('/[nr|!/<>^$%*&]+/','',$form_field);
}

$Email  = filter_email_header($Email);

替换修复

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

*您的表单选择选项不存在值所以值是什么选择空值以显示电子邮件表单

<select name="palvelu" id="palvelu" class="form-control">
<option value="Valitse palvelu">Valitse palvelu</option>
<option value="Sammaleen poisto">Sammaleen poisto</option>
<option value="Katon pinnoitus">Katon pinnoitus</option>
<option value="Tiilikaton huolto">Tiilikaton huolto</option>
<option value="Vuosihuolto">Vuosihuolto</option>
 </select>

【讨论】:

  • 几乎成功了!它得到了正确的一切,但它仍然没有显示“消息”和“名称”和“palvelu”又名服务。在邮件中?
  • 我的机器可以检索“消息”和“名称”,但 palvelu 唯一的问题现在也已修复和更新,请检查
  • 我试着按照我理解的方式来表达,但对我来说它看起来像这样? Pictures 它只是在我收到的邮件中显示:我从谁那里得到的以及我模糊的电子邮件(又名收件人电子邮件)。我不明白为什么它不打印任何东西
猜你喜欢
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 2018-12-25
  • 2011-09-07
  • 1970-01-01
  • 2018-10-03
  • 2013-04-19
  • 2012-07-12
相关资源
最近更新 更多