0

更新: メール アドレスにデータを送信する単純な PHP フォームがありますが、送信していません。フィールド名を送信するだけです。

コードは次のとおりです。

<?php 
$ToEmail = 'email@yahoo.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"]."\r\n"; 
$MESSAGE_BODY .= "Surname: ".$_POST["surname"]."\r\n"; 
$MESSAGE_BODY .= "Designation: ".$_POST["designation"]."\r\n";
$MESSAGE_BODY .= "Phone: ".nl2br($_POST["phone"])."\r\n"; 
$MESSAGE_BODY .= "Email: ".nl2br($_POST["email"])."\r\n";
$MESSAGE_BODY .= "Opt in: ".nl2br($_POST["send"])."\r\n"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?>


<form class="form-signin" name="index" action="index.php" method="post">

<img src="img/coffee.png" width="235" height="227">
<h2 class="form-signin-heading">Enter your information</h2>
    <input name="name" type="text" class="input-block-level" id="name"  placeholder="Name">
    <input type="text" class="input-block-level" name="surname"  id="surname" placeholder="Surname">
    <input type="text" class="input-block-level" name="designation" id="designation" placeholder="Designation">
    <input type="text" class="input-block-level" name="phone" id="phone" placeholder="Cell Number">
    <input type="text" class="input-block-level" name="email" id="email" placeholder="Email">
    <label class="checkbox">
    <input type="checkbox" value="Send-me-helpful-information" name="send" checked>   <p>Send me helpful information</p>
   <input name="submit" type="submit" value="submit" class="btn btn-large btn-primary" id="go" rel="leanModal" href="#thankyou">


    <p>Terms & Conditions Apply. 
<a href="terms.html">Click HERE</a></p>
  </form>

助けてください

コメント: 現在送信中ですが、ページの読み込み時に空白のメールが送信されます。誰かがこれの修正を知っていますか?

4

6 に答える 6

5

送信ボタンを次のように変更します。

<input type="submit" value="Submit" />

あなたのPHPはもっと似ているはずです

if(!empty($_POST)) { // This is to say if the form is submitted.
    // All your PHP post stuff here. The email sending stuff.
    $errors = array();

    // Do this for all your required fields.
    if(isset($_POST['email']) && $_POST['email'] != '') { // If there's a variable set and it isn't empty.
         $mailheader = "From: " . $_POST['email'] . "\r\n";
    } else {
         $errors[] = "No email submitted";
    }

    print_r($_POST); // This is for debugging. Remove it when satisfied.
    echo $MESSAGE_BODY; // Also for debugging. Ensure this is fine.

    if(empty($errors)) {
        if(mail()) { // Your mail function 
            // Successful mail send, either redirect or do whatever your do for successful send
        } else {
            // Mail failure, inform user the sending failed. Handle it as you wish. Errors will be sent out.
        }
    } else {
        print_r($errors); // See what's going error wise.
    }
}
于 2013-08-17T10:37:58.913 に答える
1

これを試して

<?php    
if($_POST['submit']!="")
{
$ToEmail = 'email@yahoo.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"]."\r\n"; 
$MESSAGE_BODY .= "Surname: ".$_POST["surname"]."\r\n"; 
$MESSAGE_BODY .= "Designation: ".$_POST["designation"]."\r\n";
$MESSAGE_BODY .= "Phone: ".$_POST["phone"]."\r\n"; 
$MESSAGE_BODY .= "Email: ".$_POST["email"]."\r\n";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
}
?>
于 2013-08-19T04:33:58.640 に答える
1
<?php
if(isset($_POST['submit'])){

   //your sending email php code 
}
?>
于 2013-08-17T10:36:08.193 に答える
1
<form name="form1" id="form1" action="" method="post"> // form like this
<input type="submit" name="submit" id="submit" value="submit"> // submit button like this 
</form>
<?php if(isset($_REQUEST['submit']))
{
$ToEmail = 'email@yahoo.com'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"]."\r\n"; 
$MESSAGE_BODY .= "Surname: ".$_POST["surname"]."\r\n"; 
$MESSAGE_BODY .= "Designation: ".$_POST["designation"]."\r\n";
$MESSAGE_BODY .= "Phone: ".$_POST["phone"]."\r\n"; 
$MESSAGE_BODY .= "Email: ".$_POST["email"]."\r\n";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
} ?>
于 2013-08-17T10:28:26.103 に答える