2014-03-27 91 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)