Ajouter un champ dans un formulaire php
Résolu/Fermé
apocal
Messages postés
9
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 juin 2011
-
7 juin 2011 à 16:54
Profil bloqué - 8 juin 2011 à 14:34
Profil bloqué - 8 juin 2011 à 14:34
A voir également:
- Ajouter un champ dans un formulaire php
- Formulaire de réclamation facebook - Guide
- Ajouter un compte whatsapp - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte gmail - Guide
- Ajouter un compte facebook - Guide
7 réponses
<form id="contact" method="post" action="contact.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="telephone">Tel :</label><input type="text" id="telephone" name="telephone" tabindex="1" /></p>
...
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="telephone">Tel :</label><input type="text" id="telephone" name="telephone" tabindex="1" /></p>
...
apocal
Messages postés
9
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 juin 2011
1
8 juin 2011 à 14:31
8 juin 2011 à 14:31
CA MARCHE !!!!
Varaldi Q tu me sauve, je te remercie infiniment...
C'est vraiment sympa de ta part et de celle de lpz de m'avoir aidé si rapidement.
Encore merci...
Varaldi Q tu me sauve, je te remercie infiniment...
C'est vraiment sympa de ta part et de celle de lpz de m'avoir aidé si rapidement.
Encore merci...
Salut,
C'est le code de la page qui reçoit les données du form, il nous faut la page du form, qu'on puisse y insérer ton champ.
PS je sais pas trop pourquoi tu as un code aussi long pour un form si tu débutes, mais je ne peux que te conseiller le siteduzero.com si tu veux en faire un simple, pour apprendre, que tu personnaliseras comme tu voudras.
C'est le code de la page qui reçoit les données du form, il nous faut la page du form, qu'on puisse y insérer ton champ.
PS je sais pas trop pourquoi tu as un code aussi long pour un form si tu débutes, mais je ne peux que te conseiller le siteduzero.com si tu veux en faire un simple, pour apprendre, que tu personnaliseras comme tu voudras.
apocal
Messages postés
9
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 juin 2011
1
7 juin 2011 à 17:20
7 juin 2011 à 17:20
Merci pour la rapidité de ta réponse varaldi q.
Voila le formulaire html, tu verra que j'ai déja rajouté le champ téléphone, mais quand je le test en ligne, seul nom, objet, mail et message marchent, je ne recoit rien pour le champ téléphone, pourtant je le rempli...
C'est fascinant et térriblement compliqué :)
Je vais aller faire un tour aussi sur le site que tu me conseille.
voila le code :
<form id="contact" method="post" action="contact.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>
<fieldset><legend>Votre message :</legend>
<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
<p><label for="message">Téléphone :</label><textarea id="message" name="Téléphone" tabindex="5" cols="30" rows="1"></textarea></p>
</fieldset>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
Merci à toi
Voila le formulaire html, tu verra que j'ai déja rajouté le champ téléphone, mais quand je le test en ligne, seul nom, objet, mail et message marchent, je ne recoit rien pour le champ téléphone, pourtant je le rempli...
C'est fascinant et térriblement compliqué :)
Je vais aller faire un tour aussi sur le site que tu me conseille.
voila le code :
<form id="contact" method="post" action="contact.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>
<fieldset><legend>Votre message :</legend>
<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
<p><label for="message">Téléphone :</label><textarea id="message" name="Téléphone" tabindex="5" cols="30" rows="1"></textarea></p>
</fieldset>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
Merci à toi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et dans les tests...
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
...
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
...
apocal
Messages postés
9
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 juin 2011
1
8 juin 2011 à 13:54
8 juin 2011 à 13:54
Salut à vous,
J'ai effectué les modifs que vous m'avez conseillés, mais quand je test le formulaire, ce que j'ai écris dans le champ téléphone n'apparaît pas dans le mail que je reçoit...
Effectivement j'avais fait pas mal d'erreur, merci pour les corrections, malgré ça ça ne marche pas...
J'ai effectué les modifs que vous m'avez conseillés, mais quand je test le formulaire, ce que j'ai écris dans le champ téléphone n'apparaît pas dans le mail que je reçoit...
Effectivement j'avais fait pas mal d'erreur, merci pour les corrections, malgré ça ça ne marche pas...
apocal
Messages postés
9
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 juin 2011
1
8 juin 2011 à 14:09
8 juin 2011 à 14:09
:) OK
Alors voila mon formulaire 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>Document sans nom</title>
</head>
<body>
<div align="center">SITE EN CONSTRUCTION
</div>
<form id="contact" method="post" action="traitement_formulaire.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="telephone">Tel :</label><input type="text" id="telephone" name="telephone" tabindex="1" /></p>
<p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>
<fieldset><legend>Votre message :</legend>
<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
</fieldset>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
</body>
</html>
Et voila mon : traitement_formulaire.php
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mog.eric@gmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Ce formulaire est long parceque je l'ai pris sur un site déja tout fait... Comme tu peux t'en apercevoir, je suis pas encore près à faire mes propres php :)
Alors voila mon formulaire 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>Document sans nom</title>
</head>
<body>
<div align="center">SITE EN CONSTRUCTION
</div>
<form id="contact" method="post" action="traitement_formulaire.php">
<fieldset><legend>Vos coordonnées</legend>
<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
<p><label for="telephone">Tel :</label><input type="text" id="telephone" name="telephone" tabindex="1" /></p>
<p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
</fieldset>
<fieldset><legend>Votre message :</legend>
<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
</fieldset>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
</form>
</body>
</html>
Et voila mon : traitement_formulaire.php
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mog.eric@gmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Ce formulaire est long parceque je l'ai pris sur un site déja tout fait... Comme tu peux t'en apercevoir, je suis pas encore près à faire mes propres php :)
Lol,
tu voudrais que le tel s'affiche où ?
Car ici, tu utilises la fonction mail, mais tu ne passes pas tel en paramètre..
Au lieu de ça
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
Mets ça
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
if (isset($_POST['message']) && isset($_POST['telephone']))
{
$message = $message."</br>Tel : ".$tel;
}
ça marche ?
tu voudrais que le tel s'affiche où ?
Car ici, tu utilises la fonction mail, mais tu ne passes pas tel en paramètre..
Au lieu de ça
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
Mets ça
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$tel = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
if (isset($_POST['message']) && isset($_POST['telephone']))
{
$message = $message."</br>Tel : ".$tel;
}
ça marche ?
7 juin 2011 à 17:28