0

私は以下を使用して、連絡先ページに訪問者データを記載した電子メールを送信させています。

            <form method="post" action="submit.php">
            <label for="Name">Name</label>
            <input type="text" name="Name" id="Name" />

            <label for="Email">eMail</label>
            <input type="text" name="Email" id="Email" />



            <input type="submit" name="submit" value="Send" class="submit-button" />
            </form>

とphp:

    <?php

    $EmailFrom = "Me";
    $EmailTo = "me@me.com";
    $Subject = "Test";
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 

    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
      exit;
    }

    // prepare email body text
    $Body = "";
    $Body .= "Name: ";
    $Body .= $Name;
    $Body .= "\n";
    $Body .= "eMail: ";
    $Body .= $Email;
    $Body .= "\n";

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom");

    // redirect to success page 
    if ($success){
      print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.html\">";
    }
    else{
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
    }
    ?>

試してみると、PHPファイルで作成された電子メールの本文のみが表示されますが、訪問者が挿入した情報は次のように表示されません。

名前:電子メール:

4

2 に答える 2

0

電子メールのヘッダー情報を設定してみてください。

$header  = 'MIME-Version: 1.0'."\r\n";
$header .= 'Content-type: text/plain; charset=iso-8859-1'."\r\n";
$header .= 'From: '.$EmailFrom."\r\n";

$success = mail($EmailTo, $Subject, $Body, $header);
于 2012-07-04T08:24:36.027 に答える
0

最後に、私はそれを少し単純化しました..また、フォームがphpファイルと通信するのを止めたのは「大文字と小文字を区別する」問題のようでした。

したがって、これが最終的に機能したものです:

            <form method="post" action="submit.php">
            <label for="Name">Name</label>
            <input type="text" name="Name" id="name" />

            <label for="Email">eMail</label>
            <input type="text" name="Email" id="email" />

            <label for="Message">Message</label>
            <textarea name="Message" rows="10" id="message"></textarea>

            <input type="submit" name="submit" value="Send" class="submit" id="submit"/>
            </form>

そしてphp:

        <?php


    $EmailFrom = "Test";
    $EmailTo = "test@test.com";
    $Subject = "Testing";
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 
    $Message = Trim(stripslashes($_POST['Message'])); 

    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
      exit;
    }

    // prepare email body text
    $Body = "";
    $Body .= "Name: ";
    $Body .= $Name;
    $Body .= "\n";
    $Body .= "eMail: ";
    $Body .= $Email;
    $Body .= "\n";
    $Body .= "Message: ";
    $Body .= $Message;
    $Body .= "\n";

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom");

    // redirect to success page 
    if ($success){
      print "<meta http-equiv=\"refresh\" content=\"0;URL=ok.htm\">";
    }
    else{
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
    }
    ?>
于 2012-07-04T12:59:14.240 に答える