2017-02-20 5 views
-1

私は最近phpで​​連絡先フォームを作成しましたが、投稿をクリックするたびに未定義のエラーだけが表示されます。誰もが私が逃したものに洞察力を与えることができますか?連絡先に未定義のエラーがあります。

HTML

<form id="main-contact-form" class="contact-form" name="contact-form"  method="post" action="contactengine.php"> 
    <div class="col-sm-5 col-sm-offset-1"> 
     <div class="form-group"> 
      <label>Name *</label> 
      <input type="text" name="Name" class="form-control" required="required"> 
     </div> 
     <div class="form-group"> 
      <label>Email *</label> 
      <input type="email" name="Email" class="form-control" required="required"> 
     </div> 
     <div class="form-group"> 
      <label>Phone *</label> 
      <input type="number" name="Phone" class="form-control"> 
     </div> 
     <div class="form-group"> 
      <label>Company Name</label> 
      <input type="text" class="form-control"> 
     </div> 
    </div> 
    <div class="col-sm-5"> 
     <div class="form-group"> 
      <label>Subject *</label> 
      <input type="text" name="subject" class="form-control" required="required"> 
     </div> 
     <div class="form-group"> 
      <label>Message *</label> 
      <textarea name="message" id="Message" required="required" class="form-control" rows="8"></textarea> 
     </div> 
     <div class="form-group"> 
      <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">Submit Message</button> 
     </div> 
    </div> 
</form> 

PHP

<?php 
if (isset($_POST["submit"])){ 
    $EmailFrom = "$Email"; 
    $EmailTo = "[email protected]"; 
    $Subject = "New Message from Your Message"; 
    $Name = trim(stripslashes($_POST['Name'])); 
    $Phone = trim(stripslashes($_POST['Phone'])); 
    $Email = trim(stripslashes($_POST['Email'])); 
    $Subject = trim(stripslashes($_POST['Subject'])); 
    $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 = "You have received a new email from";  
    $Body .= "Name: ";  
    $Body .= $Name; 
    $Body .= "\n";  
    $Body .= "Phone: "; 
    $Body .= $Phone; 
    $Body .= "\n";  
    $Body .= "Email: ";  
    $Body .= $Email;  
    $Body .= "\n";  
    $Body .= "Subject: "; 
    $Body .= "$Subject: "; 
    $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=contactthanks.php\">"; 
    }else {  
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    } 
} 
?> 

私はあなたのポストと私で、いくつかのケース感度の問題がありました

+1

ポストあなたが –

+1

'F($の成功)を取得エラーが' '' IF($成功)でなければなりませんを確認してください。そして、 '$ success'をコメントアウトしたコードがあります。 – Barmar

+0

このように$ success = mail($ EmailTo、$ Subject、$ Body、 "From:<$EmailFrom>")のようにこの行を変更してください。 //電子メールを送信 –

答えて

0

他のhtml何に未定義のエラーを取得それを訂正し、対応する行にコメントした。 はそれ

<?php 
    if (isset($_POST["submit"])) 
    { $EmailFrom = "$Email"; 
    $EmailTo = "[email protected]"; 
    $Subject = "New Message from Your Message"; 
     $Name = trim(stripslashes($_POST['Name'])); 
    $Phone = trim(stripslashes($_POST['Phone'])); 
     $Email = trim(stripslashes($_POST['Email'])); 
     $Subject = trim(stripslashes($_POST['subject'])); //s should be small 
     $Message = trim(stripslashes($_POST['message'])); // m should be small 
    // validation  
    $validationOK = true;  
    if (!$validationOK) {  
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";  exit; 
     } 
    // prepare email body text  
    $Body = "You have received a new email from";  
    $Body .= "Name: ";  
    $Body .= $Name; 
    $Body .= "\n";  
    $Body .= "Phone: "; 
     $Body .= $Phone; 
     $Body .= "\n";  
    $Body .= "Email: ";  
    $Body .= $Email;  
    $Body .= "\n";  
    $Body .= "Subject: "; 
    $Body .= $Subject; // copy paste is very bad 
     $Body .= "\n"; 
    $Body .= "Message: "; 
     $Body .= $Message;  
     $Body .= "\n"; 

    // send email  $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 
    // redirect to success page  i 
    if ($success) {  print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">"; } 
    else {  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; }}?> 
<form id="main-contact-form" class="contact-form" name="contact-form"  method="post" action="contactengine.php"> 
     <div class="col-sm-5 col-sm-offset-1"> 
      <div class="form-group"> 
       <label>Name *</label> 
       <input type="text" name="Name" class="form-control" required="required"> 
      </div> 
      <div class="form-group"> 
       <label>Email *</label> 
       <input type="email" name="Email" class="form-control" required="required"> 
      </div> 
      <div class="form-group"> 
       <label>Phone *</label> 
       <input type="number" name="Phone" class="form-control"> 
      </div> 
      <div class="form-group"> 
       <label>Company Name</label> 
       <input type="text" class="form-control"> 
      </div> 
     </div> 
     <div class="col-sm-5"> 
      <div class="form-group"> 
       <label>Subject *</label> 
       <input type="text" name="subject" class="form-control" required="required"> 
      </div> 
      <div class="form-group"> 
       <label>Message *</label> 
       <textarea name="message" id="Message" required="required" class="form-control" rows="8"></textarea> 
      </div> 
      <div class="form-group"> 
       <input type="submit" name="submit" class="btn btn-primary btn-lg" value="Submit" /> 
      </div> 
     </div> 
    </form> 
+0

まだ未定義です – Ben

関連する問題