2014-03-27 61 views
-2

任何人都可以幫助我,請。我有這個代碼,我不知道爲什麼我有這些錯誤。

"Undefined index name, email and message" 

我試圖在窗體中添加一個動作:

<form action="?" method="post">但不起作用。

<?php 
$to = '[email protected]'; 
$subject = 'From Site'; 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$header = '$email'; 

if ($_POST) { 
    mail($to, $subject, $message, $header); 
} 
?> 

<html> 
    <fieldset> 
     <legend>Contactat US</legend> 
     <form method="post"> 
      <label for="name">Name:</label><br> 
      <input type="text" name="name" id="name" /><br> 
      <label for="email">E-mail:</label><br> 
      <input type="text" name="email" id="email" /><br>    
      <label for="message">Message:</label><br> 
      <textarea id="message" name="message" id="message" cols="42" rows="9"></textarea><br><br> 
      <input type="submit" value="Send" />     
     </form> 
    </fieldset> 
</html> 
+0

$ _POST在您提交表單之後*之前不存在。你試圖在它存在之前使用它。 –

+1

@JohnConde $ _POST總是存在 但您所查看的值不會存在 – TheMohanAhuja

回答

2
if(isset($_POST['email'])){ 
    $to = '[email protected]'; 
    $subject = 'From Site'; 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    $header = '$email'; 

    mail($to, $subject, $message, $header); 
} 
+0

非常感謝您。 –

0

REPLACE這樣:

if(isset($_POST['email'])){ 
     $to = '[email protected]'; 
     $subject = 'From Site'; 

     $name = filter_input(INPUT_POST, 'name'); 
     $email = filter_input(INPUT_POST, 'email'); 
     $message = filter_input(INPUT_POST, 'message'); 

     $header = '$email'; 

     mail($to, $subject, $message, $header); 
    } 

如果您直接諮詢後陣列,你可能有困難。 而你在某些編輯器中看到警告。 (例如Netbeans IDE)