簡體   English   中英

PHP發布數據未通過發送

[英]PHP post data isn't being sent through

錯誤我對此事不知所措(我想)。 我看不到我在做什么錯,必須存在的所有內容都在那兒,但這仍然無法正常工作。

我使用了不同的形式和PHP郵件腳本,但似乎沒有任何效果。 正在發送電子郵件,但信息始終為空白。 例如,請參見屏幕截圖

這是截圖鏈接

我究竟做錯了什么?

請幫忙。

這是表單代碼:

    <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
                  <div class="row-fluid">
                    <div class="span5">
                        First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
                    </div>
                    <div class="span7">
                        <button type="submit" class="btn btn-primary btn-large pull-right">Send Message</button>
                    </div>

                </div>


            </form>

這是整個PHP文件 (sendemail.php):

<?php
    header('Content-type: application/json');
    $status = array(
        'type'=>'success',
        'message'=>'Email sent!'
    );


    $name = @trim(stripslashes($_POST['first_name']));
    $lastname = @trim(stripslashes($_POST['last_name']));  
    $email = @trim(stripslashes($_POST['email'])); 
    $message = @trim(stripslashes($_POST['message'])); 

    $email_from = "Website Contact Form";
    $email_to = '//removed real email address';


$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;


    $body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;

    $success = mail($EmailTo, $Subject, $Body, "From: <$email_from>");

    $success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');


    echo json_encode($status);
    die;

包含您在此處運行的當前代碼的表單的網頁為: http : //minha-consulting.com/contactus.html

提前致謝。

您使用了兩次變量名(大寫和小寫),並且發送了兩次電子郵件。 這有點混亂。 這是您的代碼中的一些問題:

  • $Body未定義
  • $Email未定義(大寫)
  • $Message未定義(大寫)
  • 為什么要使用反斜杠? 最好使用消毒過濾器
  • 使用適當的縮進來清理代碼並使用PHP編碼標准

這樣,錯誤將更容易發現。

$ Body的第一行應以“。”開頭。

$Body = "Name: ";

如果使用小寫字母定義了變量,則不能使用大寫字母來調用它。

$test != $Test

只需復制並替換您的代碼即可:

    $name = @trim(stripslashes($_POST['first_name']));
    $lastname = @trim(stripslashes($_POST['last_name']));  
    $email = @trim(stripslashes($_POST['email'])); 
    $message = @trim(stripslashes($_POST['message']));

$subject = 'Email Subject';
$headMail = "From: your@email.address\r\n";
$headMail .= "From: your@email.address\r\n";
$bodyMail = "Name: ";
$bodyMail .= $name . ' ' . $lastname;
$bodyMail .= "\n";
$bodyMail .= "Email: ";
$bodyMail .= $email;
$bodyMail  .= "\n";
$bodyMail .= "Message: ";
$bodyMail .= $message;

mail($email, $subject, $bodyMail, $headMail);

變量名稱區分大小寫。

http://php.net/manual/zh/language.variables.basics.php

$Message$message不相同。 同樣修復其他變量。

如上定義的小寫字母“ m”,請使用$ message而不是$ Message。

$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM