简体   繁体   English

用 PHP 创建了简单的 HTML 表单,但不会发布电子邮件并打开空白页面

[英]Created simple HTML form with PHP, but won't POST email and opens blank page

I created the following HTML and PHP documents.我创建了以下 HTML 和 PHP 文档。 When I fill in the information and click submit, I don't receive any errors, but I get a blank page and also don't receive an email with the form information.当我填写信息并点击提交时,我没有收到任何错误,但我得到一个空白页面,也没有收到包含表单信息的电子邮件。 I'm fairly new at this, but could use the help on why I'm not getting the email and how to get rid of the blank page.我对此很陌生,但可以使用帮助说明为什么我没有收到电子邮件以及如何摆脱空白页。 Thank you.谢谢你。

 <head> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <div id="title"> <div id="titlecontact"> <h1>Excelerate Growth, LLC</h1> <h4><em>Consulting to Help Small Businesses Excel</em></h4> </div> </div> <header id="header"> <nav class="links" style="--items: 5;"> <a href="index.html">Home</a> <a href="about.html">About</a> <a href="services.html">Services</a> <a href="results.html">Results</a> <a href="contact.html">Contact</a> <span class="line"></span> </nav> </header> <?=$thankYou ?> <form class="form" action="contact2.php" method="POST"> <h1>CONTACT US</h1> <p class="name">Name</p><input class="nametext" type="text" name="sender" /> <p class="email">Email</p><input class="emailtext" type="text" name="senderEmail" /> <p class="phone">Phone</p><input class="phonetext" type="tel" name="senderPhone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required /> <br /> <br /> <p class="interest">Interest</p> <select class="package" name="type" size="1"> <option value="update">Free Consultation</option> <option value="change">Growth Management</option> <option value="addition">Customer Service</option> <option value="new">Process Management</option> </select> <br /> <br /> <p class="message">Share More About Your Business</p><textarea class="text" name="message" rows="6" cols="25"></textarea><br /><br /> <input class="submit" type="submit" value="Send"><input class="reset" type="reset" value="Clear"> </form> <div id="social"> <a href="https://www.linkedin.com/company/excelerate-growth/" target="_blank"><img class="linkedin" src="linkedin.png"></a> <a href="mailto:excelerategrowth@gmail.com" target="_blank"><img class="email2" src="email.png"></a> <a href="https://www.facebook.com/ExcelerateGrowthLLC/" target="_blank"><img class="facebook" src="facebook.png"></a> <br/> <br/> </div> <br/> <br/>

 <?php if($_POST["submit"]) { $recipient="jscotty78@gmail.com"; $subject="Form to email message"; $sender=$_POST["sender"]; $senderEmail=$_POST["senderEmail"]; $senderPhone=$_POST["senderPhone"]; $type=$_POST["type"]; $message=$_POST["message"]; $mailBody="Name: $sender\\nEmail: $senderEmail\\nPhone: $senderPhone\\nType: $type\\n$message"; mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>"); $thankYou="<p>Thank you! Your message has been sent.</p>"; } ?>

Try This Code Below with name="submit"在下面使用 name="submit" 试试这个代码

    <form class="form" action="contact2.php" method="POST">
        <h1>CONTACT US</h1>
        <p class="name">Name</p><input class="nametext" type="text" name="sender" />
    <p class="email">Email</p><input class="emailtext" type="text" name="senderEmail" />
    <p class="phone">Phone</p><input class="phonetext" type="tel" name="senderPhone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required />
    <br />
    <br />
    <p class="interest">Interest</p>
    <select class="package" name="type" size="1">
    <option value="update">Free Consultation</option>
    <option value="change">Growth Management</option>
    <option value="addition">Customer Service</option>
    <option value="new">Process Management</option>
    </select>
    <br />
    <br />
    <p class="message">Share More About Your Business</p><textarea class="text" name="message" rows="6" cols="25"></textarea><br /><br />
    <input class="submit" type="submit" name="submit" value="Send"><input class="reset" type="reset" value="Clear">
    </form>

POST form data is sent using name => value. POST 表单数据使用 name => value 发送。 Here:这里:

 <form class="form" action="contact2.php" method="POST"> <h1>CONTACT US</h1> <p class="name">Name</p><input class="nametext" type="text" name="sender" /> <p class="email">Email</p><input class="emailtext" type="text" name="senderEmail" /> <p class="phone">Phone</p><input class="phonetext" type="tel" name="senderPhone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required /> <br /> <br /> <p class="interest">Interest</p> <select class="package" name="type" size="1"> <option value="update">Free Consultation</option> <option value="change">Growth Management</option> <option value="addition">Customer Service</option> <option value="new">Process Management</option> </select> <br /> <br /> <p class="message">Share More About Your Business</p><textarea class="text" name="message" rows="6" cols="25"></textarea><br /><br /> <input class="submit" type="submit" value="Send"><input class="reset" type="reset" value="Clear"> </form>

you have no input with name="submit".您没有 name="submit" 的输​​入。 This is why $_POST['submit'] is equal to "", which is considered false in PHP.这就是为什么 $_POST['submit'] 等于 "",这在 PHP 中被认为是错误的。 So mail() is not running.所以 mail() 没有运行。

Instead, try this:相反,试试这个:

 <form class="form" action="contact2.php" method="POST"> <h1>CONTACT US</h1> <p class="name">Name</p><input class="nametext" type="text" name="sender" /> <p class="email">Email</p><input class="emailtext" type="text" name="senderEmail" /> <p class="phone">Phone</p><input class="phonetext" type="tel" name="senderPhone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required /> <br /> <br /> <p class="interest">Interest</p> <select class="package" name="type" size="1"> <option value="update">Free Consultation</option> <option value="change">Growth Management</option> <option value="addition">Customer Service</option> <option value="new">Process Management</option> </select> <br /> <br /> <p class="message">Share More About Your Business</p><textarea class="text" name="message" rows="6" cols="25"></textarea><br /><br /> <input class="submit" type="submit" value="Send"><input class="reset" type="reset" value="Clear"> <input type="hidden" name="submit" value="a" /> </form>

Notice name="submit".注意名称=“提交”。 This gets sent along with the form data.这与表单数据一起发送。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM