[Comment Faire ?] Créer un formulaire de contact simple !
Dernière réponse : dans Programmation
Salut à tous,
Donc après avoir vu des centaines de milliers de postes sur divers forums qui s'appelaient "Comment creer un formulaire ?", je me suis dit, je vais leurs apprendre à en creer un par la plus simple des manières !
Donc déjà, ne prenaient pas la grosse tête quand je vous dis PHP !
Parceque quand je dis ça, vous pensez à Mysql ! Mais la ça sera du PHP sans le Mysql !
Donc on va commencé parceque sinon on va y passer la journée et même la nuit !
Alors en premier, prenaient votre page Web, là ou vous voulez mettre le formulaire de contact !
Ensuite, on va faire un truc tout bête, coller un code HTML dans la page Web !
Vous allez coller ce code :
Voilà,
Maintenant, on passe au PHP, alalalala, qu'es qu'il nous prépare ?
Rien de compliqué je vous assure
Vous allez créer une page Web appelé "formmail.php" ! Pas autre chose Ok ? Promis ? Bon Ok
Alors dans cette page Web, vous allez coller ce code PHP ! Juste à coller, rien de méchant
Le code :
C'est pas dur, hein, pas besoin d'être super collé !
Donc dans le code Php, ce qu'il y a à remplacer :
$TO = "votre adresse email";
Remplacez "votre adresse email" par celle vers laquel vous voulez que ça envoie (ex : webmaster@monsite.com)
Header("Location: http://(l'url vers laquel est redirigé l'expediteur)";
Remplacez "(l'url vers laquel est redirigé l'expediteur)" part la page ou vous voulez que votre expediteur soit renvoyé !
Voilà, c'est à peu près bon !
Ah non, la page "formmail.php" doit etre mis dans le meme dossier que la page ou est placé le formulaire !
Sinon, je vais vous faire un petit schéma de comment ça marche :
Page Formulaire ------>(la page est envoyé sur la page php !)------>Page PHP------>(La page PHP envoie le message vers l'adresse e-mail dit, et redirige vers la page donné)------>Envoie du mail------>L'expéditeur et redirigé !
Voilà Voilà, tout fini C'était pas dur ! Si ? allez n'éxagerez pas ! A part au niveau du html, il ne faut pas avoir fait de cours de programmation pour ça !
Bon, enfin bref, bonne continuation
Donc après avoir vu des centaines de milliers de postes sur divers forums qui s'appelaient "Comment creer un formulaire ?", je me suis dit, je vais leurs apprendre à en creer un par la plus simple des manières !
Donc déjà, ne prenaient pas la grosse tête quand je vous dis PHP !
Parceque quand je dis ça, vous pensez à Mysql ! Mais la ça sera du PHP sans le Mysql !Donc on va commencé parceque sinon on va y passer la journée et même la nuit !
Alors en premier, prenaient votre page Web, là ou vous voulez mettre le formulaire de contact !
Ensuite, on va faire un truc tout bête, coller un code HTML dans la page Web !
Vous allez coller ce code :
<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet:</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Commentaires:<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>
Voilà,
Maintenant, on passe au PHP, alalalala, qu'es qu'il nous prépare ?
Rien de compliqué je vous assure
Vous allez créer une page Web appelé "formmail.php" ! Pas autre chose Ok ? Promis ? Bon Ok
Alors dans cette page Web, vous allez coller ce code PHP ! Juste à coller, rien de méchant
Le code :
<?php
$TO = "votre adresse email";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://(l'url vers laquel est redirigé l'expediteur)");
?>
C'est pas dur, hein, pas besoin d'être super collé !
Donc dans le code Php, ce qu'il y a à remplacer :
$TO = "votre adresse email";
Remplacez "votre adresse email" par celle vers laquel vous voulez que ça envoie (ex : webmaster@monsite.com)
Header("Location: http://(l'url vers laquel est redirigé l'expediteur)";
Remplacez "(l'url vers laquel est redirigé l'expediteur)" part la page ou vous voulez que votre expediteur soit renvoyé !
Voilà, c'est à peu près bon !
Ah non, la page "formmail.php" doit etre mis dans le meme dossier que la page ou est placé le formulaire !
Sinon, je vais vous faire un petit schéma de comment ça marche :
Page Formulaire ------>(la page est envoyé sur la page php !)------>Page PHP------>(La page PHP envoie le message vers l'adresse e-mail dit, et redirige vers la page donné)------>Envoie du mail------>L'expéditeur et redirigé !
Voilà Voilà, tout fini C'était pas dur ! Si ? allez n'éxagerez pas ! A part au niveau du html, il ne faut pas avoir fait de cours de programmation pour ça !
Bon, enfin bref, bonne continuation
Autres pages sur : creer formulaire contact simple
Lassé par la pub ? Créez un compte
oui c'est pas mal!! et pour les débutants qui passent par là et qui veulent éviter les spams quelques solutions simples: mettez des conditions et allez vous promenez vers les codes de système Capchka moi j'utilise celui la: Cryptographp v1.4 mais apparement leur site est devenu de la pub pour des casinos en ligne (piratage ou voulu je ne peut pas vous le dire)
si tu arrive à m'expliquer pourquoi tu as ceci dans ton code, je te tire mon chapeau :
# while (list($key, $val) = each($HTTP_POST_VARS)) {
# $message .= "$key : $val\n";
# }
sachant qu'a 100% je suis sur, tu as copier/coller d'un code existant...
je dirais meme que tu as repris/décortiquer ce formulaire sur un autre site en recollant les morceaux?!
bon, pour un formulaire simple, et pour les débutant :
phpdebutant.org
# while (list($key, $val) = each($HTTP_POST_VARS)) {
# $message .= "$key : $val\n";
# }
sachant qu'a 100% je suis sur, tu as copier/coller d'un code existant...
je dirais meme que tu as repris/décortiquer ce formulaire sur un autre site en recollant les morceaux?!
bon, pour un formulaire simple, et pour les débutant :
phpdebutant.org
okinou a dit :
si tu arrive à m'expliquer pourquoi tu as ceci dans ton code, je te tire mon chapeau :# while (list($key, $val) = each($HTTP_POST_VARS)) {
# $message .= "$key : $val\n";
# }
sachant qu'a 100% je suis sur, tu as copier/coller d'un code existant...
je dirais meme que tu as repris/décortiquer ce formulaire sur un autre site en recollant les morceaux?!
bon, pour un formulaire simple, et pour les débutant :
phpdebutant.org
En créant mon script, j'ai rencontré quelque bug, et je me suis aidé un petit peu d'un autre site !
OmaR a dit :
c'est bien sympa d'avoir un formulaire simple, mais si y'a pas un minimum de protection, c'est d'la merde !Généralement, les gens on une protections anti spams, alors arreté avec sa ! On est pu au début des méssagerie a ce que je sache, elles ont toutes des protections qui filtre ! Après si c'est pour autre chose qu'un simple myen de contact, faut allez sur un formulaire beaucoup plus dévelopé, et protégé, mais moi c'est juste pour un contact, alors arreté avec vos arguments soit disant professionnel qui ne ressemble à rien, pour casser mon scrit !
C'est pas question d'avoir une protection anti-spam ou pas.
C'est question d'envoyer des mails indésirables à partir de ton script parce que tu ne vérifies pas les données qu'il y a dans le "To:"
Et c'est pas pour casser ton script, c'est juste pour prévenir qu'il y aura des vérifications à ajouter pour pouvoir l'utiliser en production;
C'est question d'envoyer des mails indésirables à partir de ton script parce que tu ne vérifies pas les données qu'il y a dans le "To:"
Et c'est pas pour casser ton script, c'est juste pour prévenir qu'il y aura des vérifications à ajouter pour pouvoir l'utiliser en production;
Tout simplement en passant le caractère saut de ligne dans le To: pour ajouter par exemple Bcc:monmail@abc.com qui fait que le mail est envoyé à l'adresse que tu as spécifié, mais est aussi envoyé en copie conforme invisible (BCC), à l'adresse spécifiée.
Exemple :
http://www.phpbuilder.com/columns/ian_gilfillan20060412...
Exemple :
http://www.phpbuilder.com/columns/ian_gilfillan20060412...
57metz a dit :
Salut à tous,Donc après avoir vu des centaines de milliers de postes sur divers forums qui s'appelaient "Comment creer un formulaire ?", je me suis dit, je vais leurs apprendre à en creer un par la plus simple des manières !
Donc déjà, ne prenaient pas la grosse tête quand je vous dis PHP !
Parceque quand je dis ça, vous pensez à Mysql ! Mais la ça sera du PHP sans le Mysql !Donc on va commencé parceque sinon on va y passer la journée et même la nuit !
Alors en premier, prenaient votre page Web, là ou vous voulez mettre le formulaire de contact !
Ensuite, on va faire un truc tout bête, coller un code HTML dans la page Web !
Vous allez coller ce code :
<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Email:</td>
<td><input type=text name=email size=30></td></tr>
<tr><td>Sujet:</td>
<td><input type=text name=title size=30></td></tr>
<tr><td colspan=2>Commentaires:<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>
Voilà,
Maintenant, on passe au PHP, alalalala, qu'es qu'il nous prépare ?
Rien de compliqué je vous assure
Vous allez créer une page Web appelé "formmail.php" ! Pas autre chose Ok ? Promis ? Bon Ok
Alors dans cette page Web, vous allez coller ce code PHP ! Juste à coller, rien de méchant
Le code :
<?php
$TO = "votre adresse email";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://(l'url vers laquel est redirigé l'expediteur)");
?>
C'est pas dur, hein, pas besoin d'être super collé !
Donc dans le code Php, ce qu'il y a à remplacer :
$TO = "votre adresse email";
Remplacez "votre adresse email" par celle vers laquel vous voulez que ça envoie (ex : webmaster@monsite.com)
Header("Location: http://(l'url vers laquel est redirigé l'expediteur)";
Remplacez "(l'url vers laquel est redirigé l'expediteur)" part la page ou vous voulez que votre expediteur soit renvoyé !
Voilà, c'est à peu près bon !
Ah non, la page "formmail.php" doit etre mis dans le meme dossier que la page ou est placé le formulaire !
Sinon, je vais vous faire un petit schéma de comment ça marche :
Page Formulaire ------>(la page est envoyé sur la page php !)------>Page PHP------>(La page PHP envoie le message vers l'adresse e-mail dit, et redirige vers la page donné)------>Envoie du mail------>L'expéditeur et redirigé !
Voilà Voilà, tout fini C'était pas dur ! Si ? allez n'éxagerez pas ! A part au niveau du html, il ne faut pas avoir fait de cours de programmation pour ça !
Bon, enfin bref, bonne continuation
Bonjour, j'ai tout fait comme le monsieur a dit, j'ai testé j'ai bien ma page que j'ai fait pour l'ar après avoir cliquer sur envoyer mais par contre je ne recois pas le formulaire complété dans ma messagerie comme prévu
salut, je te donne un script complet
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mon mail@fornisseur acces.com';
// copie ? (envoie une copie au visiteur)
$copie = 'oui';
// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';
// 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.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
/*
* 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;
};
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$phone = (isset($_POST['phone'])) ? Rec($_POST['phone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
if (isset($_POST['envoi']))
{
// 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é
$err_formulaire = (IsEmail($email)) ? false : true;
if (($nom != '') && ($prenom != '') && ($cp != '') && ($ville != '') && ($phone != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.'.'.$prenom.' <'.$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 = html_entity_decode($message)."\n\n";
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message .= "nom : $nom\n";
$message .= "prenom : $prenom\n";
$message .= "cp : $cp\n";
$message .= "ville : $ville\n";
$message .= "telephone : $phone\n";
$message .= "email : $email\n";
$message .= "objet : $objet\n";
// 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."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <dl>'."\n";
echo ' <dt>'."\n";
echo ' <label>Nom :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Entreprise :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Code Postal :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="cp" name="cp" value="'.stripslashes($cp).'" tabindex="3" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Ville :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="ville" name="ville" value="'.stripslashes($ville).'" tabindex="4" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Numéro de téléphone :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="phone" name="phone" value="'.stripslashes($phone).'" tabindex="5" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Email :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="6" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Objet :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="7" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Message :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <textarea id="message" name="message" tabindex="8" rows="210" cols="30">'.stripslashes($message).'</textarea>'."\n";
echo ' </dd>'."\n";
echo ' </dl>'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'mon mail@fornisseur acces.com';
// copie ? (envoie une copie au visiteur)
$copie = 'oui';
// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';
// 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.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
/*
* 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;
};
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
// si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$phone = (isset($_POST['phone'])) ? Rec($_POST['phone']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
if (isset($_POST['envoi']))
{
// 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é
$err_formulaire = (IsEmail($email)) ? false : true;
if (($nom != '') && ($prenom != '') && ($cp != '') && ($ville != '') && ($phone != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.'.'.$prenom.' <'.$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 = html_entity_decode($message)."\n\n";
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message .= "nom : $nom\n";
$message .= "prenom : $prenom\n";
$message .= "cp : $cp\n";
$message .= "ville : $ville\n";
$message .= "telephone : $phone\n";
$message .= "email : $email\n";
$message .= "objet : $objet\n";
// 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."\n";
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '<form id="contact" method="post" action="'.$form_action.'">'."\n";
echo ' <dl>'."\n";
echo ' <dt>'."\n";
echo ' <label>Nom :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Entreprise :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Code Postal :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="cp" name="cp" value="'.stripslashes($cp).'" tabindex="3" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Ville :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="ville" name="ville" value="'.stripslashes($ville).'" tabindex="4" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Numéro de téléphone :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="phone" name="phone" value="'.stripslashes($phone).'" tabindex="5" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Email :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="6" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Objet :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="7" />'."\n";
echo ' </dd>'."\n";
echo ' <dt>'."\n";
echo ' <label>Message :</label>'."\n";
echo ' </dt>'."\n";
echo ' <dd>'."\n";
echo ' <textarea id="message" name="message" tabindex="8" rows="210" cols="30">'.stripslashes($message).'</textarea>'."\n";
echo ' </dd>'."\n";
echo ' </dl>'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
echo '</form>'."\n";
};
?>
Bonjour !
Je déterre ce sujet parce que j'ai piqué son super formulaire à guillaume2vo et j'ai tenté de l'adapter à mon cas (un bon de commande), c'est à dire avec d'autres champs et en affichant le formulaire non pas dans le fichier php mais dans un fichier html séparé.
Je ne connais pas PHP et j'ai surement enlevé des choses qui doivent être utiles, car lorsque je clique sur envoyer, j'ai une erreur de syntaxe et je ne reçois pas de mail. Je sais qu'il manque des accolades de fermeture, mais je ne sais pas ou les mettre !
J'utilisais avant un autre script d'envoi de mail, qui lui marche, mais qui est bcp trop basique : aucun contrôle du contenu et l'objet de l'email est vide, interdisant un traitement automatique des commandes.
ci dessous le formulaire de ma page HTML :
Et mon fichier PHP :
Pouvez vous me dire ou ca coince ?
De plus je voudrais (tout simplement !) que l'objet du mail reçu soit toujours la même, par exemple "Demande de Pré-commande" et c'est pour ca que j'ai mis :
$objet = "Demande de Pré-commande";
dans la liste de mes champs mais quelque chose me dit que m'y prend mal..
Merci pour votre aide !
Mad.
Je déterre ce sujet parce que j'ai piqué son super formulaire à guillaume2vo et j'ai tenté de l'adapter à mon cas (un bon de commande), c'est à dire avec d'autres champs et en affichant le formulaire non pas dans le fichier php mais dans un fichier html séparé.
Je ne connais pas PHP et j'ai surement enlevé des choses qui doivent être utiles, car lorsque je clique sur envoyer, j'ai une erreur de syntaxe et je ne reçois pas de mail. Je sais qu'il manque des accolades de fermeture, mais je ne sais pas ou les mettre !
J'utilisais avant un autre script d'envoi de mail, qui lui marche, mais qui est bcp trop basique : aucun contrôle du contenu et l'objet de l'email est vide, interdisant un traitement automatique des commandes.
ci dessous le formulaire de ma page HTML :
<form action="precommande.php" method="post" name="form1" target="_blank" id="form1"> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Style1"> <tr> <td valign="top"><p>Nom / Société <span class="Style8">* </span>:<br /> <input name="nom" type="text" id="nom" size="30" /> </p> <p>Prénom :<br /> <input name="prenom" type="text" id="prenom" size="30" /> </p> <p>Téléphone :<br /> <input name="phone" type="text" id="phone" size="30" /> <br /> </p> <p>Email <span class="Style8">*</span> :<br /> <input name="email" type="text" id="email" size="30" /> </p> </td> <td valign="top"><p>Adresse : <br /> <input name="adresse" type="text" id="adresse" value="" size="30" /> </p> <p>Code Postal <span class="Style8">*</span> :<br /> <input name="cp" type="text" id="cp" size="10" /> </p> <p>Ville <span class="Style8">*</span> :<br /> <input name="ville" type="text" id="ville" size="30" /> <br /> </p></td> </tr> <tr> <td colspan="2" valign="top"><table width="100%" border="1" cellpadding="5" cellspacing="0" class="Style1"> <tr> <th scope="col"><div align="left">ARTICLE</div></th> <th scope="col">CL</th> <th scope="col">Prix Euros TTC</th> <th scope="col">Quantité</th> </tr> <tr> <th scope="row"><div align="left">Brut</div></th> <td>75</td> <td>11,50</td> <td><input name="brut" type="text" id="brut" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Demi-sec</div></th> <td>75</td> <td>11,50</td> <td><input name="demisec" type="text" id="demisec" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut Rosé</div></th> <td>75</td> <td>13</td> <td><input name="brutrose" type="text" id="brutrose" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Chardonnay</div></th> <td>75</td> <td>13,50</td> <td><input name="chardonnay" type="text" id="chardonnay" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Millésime</div></th> <td>75</td> <td>14,50</td> <td><input name="millesime" type="text" id="millesime" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Prestige</div></th> <td>75</td> <td>15,50</td> <td><input name="prestige" type="text" id="prestige" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut 1/2 bouteille</div></th> <td>37,5</td> <td>7,25</td> <td><input name="demibouteille" type="text" id="demibouteille" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut Rosé 1/2 bouteille</div></th> <td>37,5</td> <td>8,25</td> <td><input name="rosedemibouteille" type="text" id="rosedemibouteille" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut Magnum</div></th> <td>150</td> <td>28,50</td> <td><input name="magnum" type="text" id="magnum" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut Jéroboam</div></th> <td>300</td> <td>82</td> <td><input name="jeroboam" type="text" id="jeroboam" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Brut Mathusalem</div></th> <td>600</td> <td>205</td> <td><input name="mathusalem" type="text" id="mathusalem" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Panier Garni</div></th> <td> </td> <td>37</td> <td><input name="paniergarni" type="text" id="paniergarni" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Seau</div></th> <td> </td> <td>12</td> <td><input name="seau" type="text" id="seau" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Bouchon</div></th> <td> </td> <td>2</td> <td><input name="bouchon" type="text" id="bouchon" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Flûtes (les 6)</div></th> <td> </td> <td>10</td> <td><input name="flutes" type="text" id="flutes" size="5" /></td> </tr> <tr> <th scope="row"><div align="left">Gelée de Vin de Champagne</div></th> <td> </td> <td>6</td> <td><input name="gelee" type="text" id="gelee" size="5" /></td> </tr> </table></td> </tr> <tr> <td colspan="2" valign="top"><p><br /> Les champs avec une astérisque sont obligatoires. <br /> Une copie du formulaire va vous être envoyé.</p> <p> <input name="envoyer" type="image" value="submit" src="images/envoyer.jpg" align="middle" border="0" /> </p></td> </tr> </table> </form>
Et mon fichier PHP :
<?php /* ******************************************************************************************** CONFIGURATION ******************************************************************************************** */ // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule $destinataire = 'monmail@mondomaine.com'; // copie ? (envoie une copie au visiteur) $copie = 'oui'; // Action du formulaire (si votre page a des paramètres dans l'URL) // si cette page est index.php?page=contact alors mettez index.php?page=contact // sinon, laissez vide $form_action = ''; // Message d'erreur du formulaire $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur."; /* ******************************************************************************************** FIN DE LA CONFIGURATION ******************************************************************************************** */ /* * 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; }; $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $phone = (isset($_POST['phone'])) ? Rec($_POST['phone']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $objet = "Demande de Pré-commande"; $brut = (isset($_POST['brut'])) ? Rec($_POST['brut']) : ''; $demisec = (isset($_POST['demisec'])) ? Rec($_POST['demisec']) : ''; $brutrose = (isset($_POST['brutrose'])) ? Rec($_POST['brutrose']) : ''; $chardonnay = (isset($_POST['chardonnay'])) ? Rec($_POST['chardonnay']) : ''; $millesime = (isset($_POST['millesime'])) ? Rec($_POST['millesime']) : ''; $prestige = (isset($_POST['prestige'])) ? Rec($_POST['prestige']) : ''; $demibouteille = (isset($_POST['demibouteille'])) ? Rec($_POST['demibouteille']) : ''; $rosedemibouteille = (isset($_POST['rosedemibouteille'])) ? Rec($_POST['rosedemibouteille']) : ''; $magnum = (isset($_POST['magnum'])) ? Rec($_POST['magnum']) : ''; $jeroboam = (isset($_POST['jeroboam'])) ? Rec($_POST['jeroboam']) : ''; $mathusalem = (isset($_POST['mathusalem'])) ? Rec($_POST['mathusalem']) : ''; $paniergarni = (isset($_POST['paniergarni'])) ? Rec($_POST['paniergarni']) : ''; $seau = (isset($_POST['seau'])) ? Rec($_POST['seau']) : ''; $bouchon = (isset($_POST['bouchon'])) ? Rec($_POST['bouchon']) : ''; $flutes = (isset($_POST['flutes'])) ? Rec($_POST['flutes']) : ''; $gelee = (isset($_POST['gelee'])) ? Rec($_POST['gelee']) : ''; if (isset($_POST['envoi'])) { // 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é $err_formulaire = (IsEmail($email)) ? false : true; if (($nom != '') && ($cp != '') && ($ville != '') && ($email != '')) { // les 4 variables sont remplies, on génère puis envoie le mail $headers = 'From: '.$nom.'.'.$prenom.' <'.$email.'>' . "\r\n"; // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; } mail($cible, $headers) Header("Location: <a href="http://www.monsiteweb.com/msgenvoye.htm" target="_blank">http://www.monsiteweb.com/msgenvoye.htm</a>"); ?>
Pouvez vous me dire ou ca coince ?
De plus je voudrais (tout simplement !) que l'objet du mail reçu soit toujours la même, par exemple "Demande de Pré-commande" et c'est pour ca que j'ai mis :
$objet = "Demande de Pré-commande";
dans la liste de mes champs mais quelque chose me dit que m'y prend mal..
Merci pour votre aide !
Mad.
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- solutionsComment créer un formulaire de contact
- solutionsFormulaire de contact simple en php
- ForumFormulaire de contact simple
- ForumFormulaire contact simple
- ForumFormulaire de contact simple en html
- solutionsFormulaire de contact simple php
- ForumFormulaire de contact simple html
- ForumFormulaire contact simple html
- ForumFormulaire de contact simple et securise html
- ForumFormulaire contact simple php
- Voir plus