PHP邮件功能不会返回消息

时间:2014-05-06 18:30:48

标签: php html5

我似乎在我的代码中遇到了一个问题,我不确定它是否是导致它或我的PHP邮件程序(很可能是我),但让我把它泄露出来。

我有一个表单,其中输入的值需要发送到电子邮件。

<form method="post" action="index.php" />
                        <fieldset>
                            <input id="name" name="naam" type="text" value="" class="span4" placeholder="Naam" required/>
                            <input id="email" name="email" type="text" value="" class="span4" placeholder="Emailadres" required/>
                            <input id="telnr" name="telnr" type="text" value="" class="span4" placeholder="Telefoon nummer" optional/>
                            <textarea class="input-xlarge span12" id="message" name="bericht" rows="9" placeholder="Bericht" required></textarea>
                            <div class="actions">
                                <button name="submit" type="submit" class="btn btn-succes btn-large">Versturen</button>
                            </div>                          
                        </fieldset>
                    </form>

这实际上将页面返回给自身并运行PHP块

                    <?php
                    if(isset($_POST['submit'])){

                        // defenitie variabellen
                        $name = $_POST["naam"];
                        $from = $_POST["email"];
                        $telnr = $_POST["telnr"];

                        if ($telnr = ''){
                            $telnr = "De gebruiker heeft geen telefoonnummer achtergelaten";    
                            }

                        echo $telnr;

                        $message = $_POST["bericht"];
                        $message = wordwrap($message, 70);  
                        $to = "info@something.com";
                        $subject = "Een gebruiker heeft een vraag of opmerking";
                        $body =  "<p>Een gebruiker heeft de volgende informatie achtergelaten:</p>";
                        $body .= "<table>";
                        $body .= "<tr>";
                        $body .= "<td>Van:</td><td> ".$name."</td>";
                        $body .= "</tr>";
                        $body .= "<tr>";
                        $body .= "<td>E-mail:</td><td> ".$from." </td></tr>";
                        $body .= "<tr>";
                        $body .= "<td>Telefoon:</td><td> ".$telnr."</td></tr>   ";
                        $body .= "</table>";
                        $body .= "<table>";
                        $body .= "<tr><td>".$message."</td></tr>";
                        $body .= "</table>";

                        echo $body;

                        $headers = "MIME-Version: 1.0" . "\r\n";
                        $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
                        $headers .= "From: noreply@something.com";
                        // nu if else statement draaien
                         if ($name = ''){
                             echo '<p>U heeft geen naam ingevuld</p>';   
                         }else if($email = ''){
                             echo '<p>U heeft geen emailadres achter gelaten</p>';
                         }else if($body = ''){
                             echo '<p>U heeft geen bericht ingevuld niet ingevuld';
                         }
                         else {
                             if (mail ($to, $subject, $body, $headers)) {
                                echo '<p>Uw bericht is verzonden.</p>';
                            } else {
                                echo '<p>Er is iets mis gegaan bij het verzenden van de data, probeer het opnieuw.</p>';
                            }
                        } 
                    }
                ?>

因此,当您在代码中发现时,我遇到了两个问题。一个是电话号码没有返回(我作为POST进行检查(我只是这样做,但它是空白的),一旦我通过if语句运行它。两者都保持空白。 / p>

第二部分是身体。我回复说它在普通的浏览器页面中显得很好,但是当它没有在电子邮件中被拍摄时,因此电子邮件保持空白。首先我认为这是因为我已经添加了内联CSS,所以我将其删除了,但电子邮件仍然是空白的。

任何人都可以发现我的缺陷,因为我非常积极,我在这里犯了一些错误。我只是盯着它看,我只是没有看到它。很可能它很简单,但我不能指责它。

1 个答案:

答案 0 :(得分:4)

在所有if语句中,您正在分配值,而不是检查它们。您需要使用==代替=