2012-10-30 7 views
0

Quand je soumets ma forme d'un e-mail envoyé à mon adresse e-mail avec les détails entrés sous la forme, mais quand je reçois l'e-mail les données est ici vide est mon codePrésentation Formulaire Non Affichage Variables

<?php 
$form = '<form action="test2.php" method="POST"> 
<table width="300" style="border: 1px solid black;"> 
<tr> 
<td>Name   &nbsp; <td><input type="text" id="name"> 
<tr> 
<td>Phone Number &nbsp; <td><input type="text" id="telephone"> 
<tr> 
<td colspan="2"> 
<input type="submit" name="submit" value="submit"/></div> 
</tr> 
</table>'; 

echo $form; 
$to = '[email protected]'; 
$name = $_POST['name']; 
$telephone = $_POST['telephone']; 

$body = "<div>Name: $name <br>Telephone Number: $telephone<br></div>"; 


// subject 
$subject = 'Call Back Requested'; 


// message 
$message = $body; 


// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 


// Additional headers 
$headers .= 'To:' . "\r\n"; 
$headers .= 'From: Call Back Request <[email protected]>' . "\r\n"; 

if(isset($_POST['submit'])){ 

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

?> 

Le problème est lorsque je soumets la forme que je reçois un e-mail qui dit

Nom (Nothing) Numéro de téléphone (Nothing)

quelqu'un peut-il me dire où je me trompe

Merci à l'avance

Adam

Répondre

3

Vous devez spécifier l'attribut name pour vos entrées:

<input type="text" id="name" name="name"> 
<input type="text" id="telephone" name="telephone"> 

au lieu de

<input type="text" id="name"> 
<input type="text" id="telephone"> 
+0

Cheers, je savais qu'il me manquait quelque chose – Adam

0

Juste après un coup d'œil, vous devez échanger votre $ body à lire

$body = '<div>Name: ' . $name . '<br>Telephone Number: ' . $telephone . '<br></div>'; 

Essayez cela et voir si cela fonctionne

0

vous avez beaucoup d'erreurs dans les balises de fermeture .. et sa mauvaise pratique pour afficher toute forme HTML en utilisant echo .. vérifier ce code:

<?php 

    extract($_POST); 

    if (isset($submit)) 
    { 
     $to = '[email protected]'; 

     $body = "<div>Name: $name <br>Telephone Number: $telephone<br></div>"; 
     $subject = 'Call Back Requested'; 
     $message = $body; 

     $headers = 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
     $headers .= 'To:' . "\r\n"; 
     $headers .= 'From: Call Back Request <[email protected]>' . "\r\n"; 

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

?> 

<html> 
    <form action="test2.php" method="POST"> 
     <table width="300" style="border: 1px solid black;"> 
      <tr> 
       <td>Name &nbsp; </td> 
       <td> <input type="text" id="name" name="name" /> </td> 
      </tr> 
      <tr> 
       <td>Phone Number &nbsp; </td> 
       <td> <input type="text" id="telephone" name="telephone" /> </td> 
      </tr> 
      <tr> 
       <td colspan="2"> <input type="submit" name="submit" value="submit"/> </td> 
      </tr> 
    </form> 
</html> 
Questions connexes