【发布时间】:2016-09-02 10:22:07
【问题描述】:
我的联系表单有点问题。 我正在使用引导程序和 phpmailer。 问题是电子邮件正文不包含联系表单中的变量。
我收到的电子邮件是“Wiadomość od: Firma: E-mail: Telefon: Treść wiadomości:
代码如下:
<?php
require '../../PHPMailer-master/PHPMailerAutoload.php';
// require '../../PHPMailer-master/class.smtp.php';
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = false;
$mail->isSMTP();
$mail->Host = 'xxx.com.pl';
$mail->SMTPAuth = true;
$mail->Username = 'xxx@.com.pl';
$mail->Password = 'xxx';
$mail->Port = 587;
$mail->setFrom('xxx@.com.pl', 'Centru');
$mail->addAddress('xxx@gmail.com', 'Odbiorca');
$mail->Subject = "Wiadomość ze strony internetowej";
$mail->isHTML(true);
// $name = $_POST['InputName'];
// $company = $_POST['InputFirma'];
// $email = $_POST['InputEmail'];
// $phone = $_POST['InputPhone'];
// $message = $_POST['InputSubject'];
$mail->Body = "Wiadomość od: " .$_POST['InputName']."\nFirma: " .$_POST['InputFirma']. "\nE-mail: " .$_POST['InputEmail']. "\nTelefon: " .$phone = $_POST['InputPhone']. "\nTreść wiadomości: " .$_POST['InputSubject'];
if(!$mail->send()) {
echo 'Wiadomość nie mogła zostać wysłana';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Wiadomość została wysłana';
}
和 HTML
<form class="padding-top-40" role="form" id="contactForm" class="contact-form" data-toggle="validator" class="shake">
<div class="form-group">
<label for="InputName">Imię i nazwisko</label>
<input type="text" class="form-control" id="InputName" name="fullname" placeholder="Imię i nazwisko" required data-error="Proszę wpisać swoje imię i nazwisko">
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<label for="InputFirma">Firma</label>
<input type="text" class="form-control" id="InputFirma" name="subject" name="comments" placeholder="Firma" required data-error="Proszę wpisać nazwę firmy">
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<label for="InputEmail">E-mail</label>
<input type="email" class="form-control" id="InputEmail" name="emailid" placeholder="E-mail" required data-error="Proszę wpisać swój email">
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<label for="InputPhone">Telefon kontaktowy</label>
<input type="number" class="form-control" name="phone" id="InputPhone" placeholder="Numer telefonu" required data-error="Proszę wprowadzić numer telefonu">
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<label for="InputSubject">Temat</label>
<textarea type="text" class="form-control" name="subject" id="InputSubject" placeholder="Treść wiadomości" rows="4" required data-error="Proszę wpisać treść wiadomości"></textarea>
<div class="help-block with-errors"></div>
</div>
<div class="padding-top-20">
<button type="submit" value="send" class="btn btn-default" id="submit" >Wyślij</button>
<div id="msgSubmit" class="h3 text-center"></div>
</div>
</form>
提前感谢您的帮助!
【问题讨论】:
-
添加
method="post"到你的 -
不,它不会改变任何东西:/
-
你访问了错误的元素,var_dump($_POST) 你会看到。 Imię i nazwisko 有 name="fullname" 所以它将是 $_POST['fullname'] 而不是 $_POST['InputName'],InputName 是一个 ID。 $_POST 数组的键是 NAME 属性。编辑:当然还有@ChrisG提到的method="post"。
-
好的,正在工作,谢谢。但是我也会向您提出问题:“好吧,它有点工作,但是它只捕获'电话'名称,这很奇怪。哦,“\n”似乎也不起作用(我认为它打破了正确的界限?) "
-
您可以将
Content-Type: text/plain添加到电子邮件的标题中,\n应该可以工作。或使用Content-Type: text/html和<br>
标签: php twitter-bootstrap email phpmailer