Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2007, 14h24   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
Par défaut Formulaire de contact

salut
tout d'abord il faut savoir que je debute en php !
je viens de créer un formulaire de contact par le biais de mon site qui est en construction
pour le formulaire j'utilise trois fichiers :
un fichier qui est ma page contact.php
ensuite un fichier formail.php qui contient le code php
et un fichier merci.php
ma question est de savoir comment faire pour mettre les champs obligatoire dans mon formulaire?
je joint les codes:
fichier contact.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div align=center>
<form method=POST action=formmail.php >
<p><font size="6"><em><strong><font color="#FF0000">N'h&eacute;sitez pas &agrave; me contacter pour toute demande de renseignement.</font></strong></em></font></p>
<p><font color="#999999" size="3">utilisez le formulaire ci-dessous.</font> </p>
<p>
  <input type=hidden name=subject value=formmail>
</p>
<table width="454" height="240">
<tr><td><em><strong><font color="#999999">Votre Nom:</font></strong></em></td>
    <td><input type=text name=realname size=30></td></tr>
<tr><td><em><strong><font color="#999999">Votre Email:</font></strong></em></td>
    <td><input type=text name=email size=30></td></tr>
<tr><td><em><strong><font color="#999999">Sujet:</font></strong></em></td>
    <td><input type=text name=title size=30></td></tr>
<tr>
  <td colspan=2><em><strong><font color="#999999">Votre message :</font></strong></em><br>
  <textarea COLS=50 ROWS=6 name=comments></textarea>
</td></tr>
</table>
<br> <input type=submit value=Envoyer> -
     <input type=reset value=Annuler>
</form>
</div>
fichier formail.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$TO = "scorpion11_22@hotmail.com";
 
$h  = "From: " . $TO;
 
$message = "";
 
while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}
 
mail($TO, $subject, $message, $h);
 
Header("Location: http://informadream.sud.fr/index.php?page=merci");
 
?>
merci
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 14h36   #2
Membre habitué
 
Inscription : mai 2002
Messages : 101
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 101
Points : 106
Points : 106
Hello,

Le plus simple est de rajouter une vérification javascript dans ton formulaire HTML que tu appelles lorsque tu cliques sur le bouton Envoyer. Ca évite que le forumlaire soit posté pour vérifier qu'il manque des champs. Tu devrais trouver ça facilement sur le web.

Si vraiment tu ne veux pas avoir à gérer les formulaires pour lesquels une information n'est pas renseignée, tu peux rajouter une vérification supplémentaire dans formail.php : si l'un des champs est vide, tu rediriges vers la page contact.php en affichant un message d'erreur.

A+
Cold Hand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 14h50   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
merci pour ta réponse mais je préfere l'intergré au script de mon fichier formail.php si quelqu'un peut me donner une solution je suis preneur merci
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 15h12   #4
Membre habitué
 
Inscription : mai 2002
Messages : 101
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 101
Points : 106
Points : 106
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
$fieldEmpty = false;
 
$TO = "scorpion11_22@hotmail.com"; 
$h  = "From: " . $TO;
 
$message = "";
 
while (list($key, $val) = each($HTTP_POST_VARS)) {
  if($val==""){ $fieldEmpty = true; }
  $message .= "$key : $val\n";
}
 
if($fieldEmpty){
    // J'imagine que c'est ton URL, je te laisse corriger au besoin
    Header("Location: http://informadream.sud.fr/contact.php?erreur=1");
} else {
    mail($TO, $subject, $message, $h); 
    Header("Location: http://informadream.sud.fr/index.php?page=merci");
}
 
?>
Et au niveau de contact.php, tu ajoutes le traitement de la variable GET "erreur". Si elle vaut 1, tu affiches un message rouge d'erreur sur la page.

Je te laisse faire évoluer le script si tu veux par exemple définir l'attribut qui est vide, etc.
Cold Hand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 15h40   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
merci pour ta réponse !! le code fonctionne nickel mais comme je débute vraiment j'ai un souci !
dans mon index php j'ai ce code qui appelle mes pages et je sais vraiment pas ou ajouter la fonction get ni comment!!
Code :
1
2
3
4
5
6
7
8
9
10
<?php
	  	if ($page=="")
		{
		include("accueil.php");
		}
		else
		{
		include("$page.php");
		}
	  ?>
merci
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 15h42   #6
Membre habitué
 
Inscription : mai 2002
Messages : 101
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 101
Points : 106
Points : 106
Code :
1
2
 
Header("Location: http://informadream.sud.fr/contact.php?page=contact&erreur=1");
Et sur la page contact.php, tu ajoutes le traitement du GET et le message. Je te laisse chercher un peu maintenant
Cold Hand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 19h33   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Petite parenthèse : un tutoriel susceptible de vous intéresser, propose une solution fiable quant à l'envoi d'un mail suite au remplissage d'un formulaire : Envoyer un mail en PHP.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 20h30   #8
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 122
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 122
Points : 13
Points : 13
Envoyer un message via MSN à scorpion11_22
merci pour vos réponses !!
mais comme je suis tétu je vais essayer de trouver des cours avec des exercices d'applications ! d'ailleur si vous en connaissez je suis preneur !!
scorpion11_22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h44.


 
 
 
 
Partenaires

Hébergement Web