【发布时间】:2021-01-11 22:20:00
【问题描述】:
我写信是为了在我的网站上创建一个联系表格,然后将信息发送到我的收件箱,但是它无论如何都不起作用。请看看我下面的代码(PHP 不是我的事),让我知道我哪里出错了。
这是 PHP 脚本:
<?php
$to = 'example@gmail.com';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$tel = $_POST['tel'];
$project = $_POST['project'];
$range1 = $_POST['range1'];
$range2 = $_POST['range2'];
$body = <<<EMAIL
Hi, my name is $name.
I'd like to discuss the possibility of working together on a $project.
My budget for the project is £$range1 and I would like to complete the project within $range2 Month(s).
Additional Information:
$message
Regards, $name
<hr>
$name
$email
$tel
EMAIL;
$header = "From: $email";
if($_POST['send']){
mail($to, $subject, $body, $header);
$feedback = 'Thank you for your message, we will get back to you shortly.';
}
?>
这是 HTML 表单:
<form id="form_id" name="form_name" action="" method="post">
<div>
<input type="text" name="name" id="name" placeholder="Name" required/>
</div>
<div>
<input type="email" name="email" id="email" placeholder="Email" required/>
</div>
<div>
<input type="tel" name="tel" id="tel" placeholder="Phone" required/>
</div>
<div>
<select required id="project">
<option selected>Select type of project…</option>
<option value="Responsive Website">Responsive Web Design</option>
<option value="Graphic Design">Graphic Design</option>
<option value="Motion Graphics">Motion Graphics</option>
</select>
</div>
<div>
<label for="range1">Budget: </label>
<input type="range" name="range1" id="range1" min="400" max="2000" step="50" value="6" required onchange="rangevalue.value=value"><output id="rangevalue">400</output>
</div>
<div>
<label for="range2">Timeframe: </label>
<input type="range" name="range2" id="range2" min="1" max="12" step=".5" value="1" required onchange="rangevalue1.value=value"><output id="rangevalue1">1</output>
</div>
<div>
<label for="message">Additional Information: </label><br/>
<p>(Please use this space to tell us about your company, the main objectives of the proposed website and anything else you think might be useful)</p>
<textarea name="message" id="message" rows="5" cols="30" placeholder="Message" required></textarea>
</div>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
<p id="feedback"><?php echo $feedback; ?></p>
感谢您的帮助。仅供参考,这可以通过 WordPress 通过 Contact Form 7(或类似插件)轻松实现。
【问题讨论】:
-
您的表单中的 $_POST['send'] 在哪里?
-
看我的回答,去这里w3schools.com/php/default.asp,然后你应该回来,你应该理解的你缺少的基本PHP基础,这是为了你自己好。
-
@Steve,这是为什么呢? W3Schools 对 PHP 有很好的介绍,我敢肯定,如果做这个问题的用户已经阅读了该页面,那么这个问题根本不存在。但与其做那些 cmets,不如试着帮助他有更好的学习节奏!
-
为什么是什么? W3Schools 因其错误而臭名昭著,这也是 Web 开发人员和 PHP 被视为编程世界的狗的主要原因之一。糟糕的代码架构、糟糕的标准以及对任何一个都不在乎的程序员。 StackOverflow 的创始人似乎同意:codinghorror.com/blog/2008/05/… 和codinghorror.com/blog/2012/06/the-php-singularity.html。如需更好的学习场所,请访问此网站:stackoverflow.com/questions/1610543/…
-
@Yvette,在我看来,您可以从那里毫无问题地学习基础知识,但您可能还想看看 Steve 链接以及其他资源,它只会有帮助你;)
标签: php html-email