Formulaire de contact

Petit nouveau ! | 8 Messages

30 août 2011, 16:02

Salut à tous, alors voila, je suis assez nouveau dans le PHP et j'ai quelque souci pour créer le formulaire de contact de ma team. J'aimerais, si possible avoir de l'aide.

1- voici mes script HTML & PHP pour le formulaire
<form method=POST action=formmail.php >
<input type=hidden name=subject value=inscription>
<table><p style="text-align: center; "><span style="text-decoration: underline; color: rgb(255, 0, 0); font-size: x-large; "><strong>Inscription R&eacute;seau AjT.</strong></span></p></br><p><span style="font-family: 'arial black', 'avant garde'; color: rgb(0, 0, 255); ">Inscription pour le 11/09/2011</span></p>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Nom:</span></strong></p></td>
    <td><input type=text name=nom  size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Pr&eacute;nom:</span></strong></p></td>
    <td><input type=text name=prnom size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Age:</span></strong></p></td>
    <td><input type=text name=age size=30></td></tr> 
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Date de naissance: "Ex: 10/12/1985"</span></strong></p></td> 
    <td><input type=text name=naissance size=30></td></tr>  
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Pseudo:</span></strong></p></td>
    <td><input type=text name=pseudo size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Team:</span></strong></p></td>  
    <td><input type=text name=team size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Email:</span></strong></p></td>
    <td><input type=text name=email value= size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Num&eacute;ro de T&eacute;l&eacute;phone:</span></strong></p></td>
    <td><input type=text name=num size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Code Postal:</span></strong></p></td>
    <td><input type=text name=codepostal size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Ville:</span></strong></p></td>
    <td><input type=text name=ville size=30></td></tr>
</table>
<br> <input type=submit value=Envoyer> -
     <input type=reset value=Annuler>
	 
</form>
<?php
$TO = "Email@ma_team";

$h  = "From:" . $TO; <ICI>

$message = "";

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

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

Header("Location: Ma_page_de_redirection");

?>
Voila alors quand je fais les test je reçois le formulaire avec les informations. Jusque là tout va bien, mais lorsque je reçois l'email, les emails TO & From sont les mêmes.
Email =
De:Email@ma_team
A:Email@ma_team

subject : inscription
nom :
prnom :
age :
naissance :
pseudo :
team :
email :
num :
adresse :
codepostal :
ville :

J'aimerais savoir comment remplacer DE: par le prénom que la personne a indiquer dans le formulaire.

Eléphant du PHP | 343 Messages

30 août 2011, 16:27

C'est sur, si tu prends
$TO = "Email@ma_team";
$h  = "From:" . $TO;
Ton $to est egal à ton $h (ou inversement). On ne voit pas ton traitement mais il faudrait reprendre ton $_POST["prnom"]
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 16:51

Je te remercie pour ton aide, une autre question, tu saurais comment mettre le champ du formulaire obligatoire ??

Eléphant du PHP | 343 Messages

30 août 2011, 17:10

Pour le rendre obligatoire, il faut vérifier si l'input n'est pas vide (donc !empty).
Si le champ est vide, on recharge la page avec 1 petit message (prenom obligatoire) si tout est bon tu envoies.

En gros quelque chose comme:
if (isset($_POST["prnom"]) && !empty($_POST["prnom"]))
	{
                 
		//tout est ok
	}

else 
	{

		$erreur = "prénom obligatoire";

		echo $erreur;
		
	}
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 17:17

D'accord et par rapport a mes script, il viendrais où celui que tu ma donner ??

Eléphant du PHP | 343 Messages

30 août 2011, 17:21

Il faudrait tout le code, là tu ne fournis que le code html.
Il faut la partie qui gère les inputs.
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 17:23

Il faudrait tout le code, là tu ne fournis que le code html.
Il faut la partie qui gère les inputs.
He non tout mon script est la le HTML et le PHP, il n'y a rien de plus, cele pose t-il problème ?

Eléphant du PHP | 343 Messages

30 août 2011, 17:26

Comment récupères-tu les valeurs de nom, prénom, age etc... dans ton mail?
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 17:31

oui sur la page de mon formulaire, la personne met les informations qui lui concerne ( nom, prénom etc....), le PHP envoie les infos sur ma boite mail et redirige la personne vers une page de confirmation. http://ajt-team.site50.net/index.php/fo ... ion-reseau

Eléphant du PHP | 343 Messages

30 août 2011, 17:36

Si tu arrives à récupérer des valeurs d'inputs en envoyant un mail, tu es un dieu :D
Non sérieusement, comment récupères-tu les valeurs? Normalement tu dois avoir 1 partie avec
$prenom = $_POST["prnom"];
etc..
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 17:43

Ben, regard voici mes 2 seuls script comme ils sont: juste l'Email et le lien que j'ai retirer:
<?php
$TO = "mon_email@_team";

$h  = "From:" . $_POST["prenom"];

$message = "";

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

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

Header("Location: http://XXXXXXXXXXX.net/Formulaire/merci.html");

?>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=inscription>
<table><p style="text-align: center; "><span style="text-decoration: underline; color: rgb(255, 0, 0); font-size: x-large; "><strong>Inscription R&eacute;seau AjT.</strong></span></p></br><p><span style="font-family: 'arial black', 'avant garde'; color: rgb(0, 0, 255); ">Inscription pour le 11/09/2011</span></p>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Nom:</span></strong></p></td>
    <td><input type=text name=nom size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Pr&eacute;nom:</span></strong></p></td>
    <td><input type=text name=prenom size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Age:</span></strong></p></td>
    <td><input type=text name=age size=30></td></tr> 
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Date de naissance: "Ex: 10/12/1985"</span></strong></p></td> 
    <td><input type=text name=naissance size=30></td></tr>  
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Pseudo:</span></strong></p></td>
    <td><input type=text name=pseudo size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Team:</span></strong></p></td>  
    <td><input type=text name=team size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Email:</span></strong></p></td>
    <td><input type=text name=email size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Num&eacute;ro de T&eacute;l&eacute;phone:</span></strong></p></td>
    <td><input type=text name=numero size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Code Postal:</span></strong></p></td>
    <td><input type=text name=codepostal size=30></td></tr>
<tr><td><p><strong><span style="color: rgb(0, 0, 255); " _mce_style="color: #0000ff;">Ville:</span></strong></p></td>
    <td><input type=text name=ville size=30></td></tr>
</table>
<br> <input type=submit value=Envoyer> -
     <input type=reset value=Annuler>
	 
</form>

Petit nouveau ! | 8 Messages

30 août 2011, 17:45

Les <input> sont dans le SCRIPT HTML

Eléphant du PHP | 343 Messages

30 août 2011, 17:57

Ah d'accord, je viens de voir cette ligne: each($HTTP_POST_VARS) que j'ai remplacé en each($_POST) sinon j'ai une erreur.

Si tu fais un traitement comme ça, tu ne peux pas vérifier si un input en particulier est vide ou non.
Développeur web

Petit nouveau ! | 8 Messages

30 août 2011, 18:00

D'accord donc c'est pas possible de mettre les champs obligatoires avec mon script? si je créer un autre script, le formulaire je le met en HTML comme je l'ai fait précédemment où je le met directement en PHP ??

Eléphant du PHP | 343 Messages

30 août 2011, 18:08

Là tu as fait 1 joli bricolage, tu récupères tout en list, tu vérifies rien ni l'existence ni quoi que ce soit.
Je te conseille de séparer chaque valeur et de bien tout vérifier, mettre des regex pour les mails et la date de naissance sinon tu vas te retrouver avec n'importe quoi dans ta table.

Oula un formulaire ça se fait en html seulement le traitement est en php. Et n'oublie pas de rajouter les "" après tes =
Ex:
<input type="text" name="prenom" />
Développeur web