Problème avec formulaire php

soad78

Membre actif
Bonjour,

Je n'ai que très peu de connaissance en php, et je souhaiterais faire un formulaire php pour mon site web, mais je rencontre divers problèmes...

1) Quand je clic sur Envoyer je ne reçois rien sur ma boîte e-mail.
2) Je souhaiterais un intégrer un code javascript, qui vérifie si les champs obligatoires sont bien remplis.
3) J'aimerai bien que mon formulaire est un barre de défilement vertical mais pas horizontal comment faire ?
4) Quand la personne a cliqué sur le Bouton Envoyer je voudrais qu'une fenêtre pop-up s'ouvre et que le message "Votre message a bien été envoyé ! " apparaisse...

Merci pour votre aide !


Voici mon code html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulaire</title>
<style type="text/css">
<!--
.Style3 {color: #CC0000}
-->
</style>
</head>

<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table> <span class="Style3">* Champs Obligatoires</span>
<tr><td><b>Nom :</b>*</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td><b>Prénom :</b>*</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td><b>Société :</b>*</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td><b>Téléphone :</b></td>
<td><input type=text name=realname size=30></td></tr>
<tr><td><b>Email :</b>*</td>
<td><input type=text name=email size=30></td></tr>
<tr><td><b>Sujet :</b>*</td>
<td><input type=text name=message size=30></td></tr> <br />
<tr><td colspan=2><b>Message :</b>*<br />


<textarea COLS=33 ROWS=6 name=comments></textarea>
</td></tr>
</table>
<br> <input type=submit value=Envoyer>
<input type=reset value=Annuler>
</form>
</div>

<body>
</body>
</html>



Voici mon code php :[/]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formmail.php</title>
</head>

<?php
$TO = "[email protected]";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://<URL de la page de remerciement>");


;

?>
 
J'ai modifié un peu le code html, ajout des guillemets pour les paramètres des champs. Ca peut foutre le bordel si t'en mets pas.


Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>formulaire</title> 
<style type="text/css"> 
<!-- 
.Style3 {color: #CC0000} 
--> 
</style> 
</head> 

<div align=center> 
<form method="POST" action="formmail.php"> 
<input type="hidden" name="subject" value="formmail"> 
<table> <span class="Style3">* Champs Obligatoires</span> 
<tr><td><b>Nom :</b>*</td> 
<td><input type="text" name="realname" size="30" /></td></tr> 
<tr><td><b>Prénom :</b>*</td> 
<td><input type="text" name="realname" size="30" /></td></tr> 
<tr><td><b>Société :</b>*</td> 
<td><input type="text" name="realname" size="30" /></td></tr> 
<tr><td><b>Téléphone :</b></td> 
<td><input type="text" name="realname" size="30" /></td></tr> 
<tr><td><b>Email :</b>*</td> 
<td><input type="text" name="email" size="30" /></td></tr> 
<tr><td><b>Sujet :</b>*</td> 
<td><input type="text" name="message" size="30" /></td></tr> <br /> 
<tr><td colspan="2"><b>Message :</b>*<br /> 


<textarea COLS="33" ROWS="6" name="comments"></textarea> 
</td></tr> 
</table> 
<br> <input type="submit" value="Envoyer"> 
<input type="reset" value="Annuler"> 
</form> 
</div> 

<body> 
</body> 
</html>


pour le code php, j'ai rien changé, j'ai testé avec un echo, ça s'affiche bien. il n'y a aucune raison que le mail ne parte pas, Si ça ne part pas c'est que soit ton hebergeur ne supporte pas la fonction mail ( ce dont je doute fortement ) soit que le header que tu as composé n'est pas bon (je ne l'ai pas testé)

J'ai aussi viré le header HTML qui ne sert à rien ici.

Bloc de code:
<?php 
$TO = "[email protected]"; 

$h = "From: " . $TO; 

$message = ""; 

while (list($key, $val) = each($HTTP_POST_VARS)) { 
$message .= "$key : $val\n"; 
} 


mail($TO, $subject, $message, $h); 



Header("Location: http://<URL de la page de remerciement>"); 


; 

?>