> Tous les forums > Forum des Webmasters
 où placer le formulaire de contact dans DW 8
Ajouter un message à la discussion
Pages : [1] 2 3 4 5 ... Fin
Page 1 sur 7 [Fin]
clarysse
  Posté le 13/03/2010 @ 16:46 
Aller en bas de la page 
Astucienne

Bonjour

Je dois ajouter un formulaire contact à mon site. Suivant en cela les bons conseils de Griggione, j'ai rempli le formulaire
http://www.php-astux.info/script-formulaire-contact.php).

1/ J'ai simplement indiqué une adresse e.mail comme destinataire et comme indiqué par y.bli à XDMZ le 16.02.09 je l'ai placé dans mon fichier contact (qui dans mon site se nomme txt_contact.htm) pas dans l'index
Il conseille également de copier le code et de le mettre dans un fichier nommé traitement_formulaire.php

Pourtant comme conseillé par Malcolm, j'ai lu l'article de Laurent Jouanneau qui préconise de mettre le script dans un fichier séparé pour assurer une parfaite compatibilité entre les navigateurs.

Pour moi ce n'est pas très clair. Dans le fichier contact ou ailleurs ? à la racine ?.

2/ Je suis embarrassée car je ne sais si je dois placer ce texte juste avant </head> ou bien entre <body> et </body>. En fait rien n'apparaît dans l'onglet Creation que le petit sigle Php.

Et encore, étant donné le format (voir www.laurent-loizeau.com) j'aurais dû le placer dans une frame ce qui ne simplifie pas le problème.

Merci d'avance à qui voudra bien me venir en aide
Clarysse

Publicité
Dreamer
 Posté le 13/03/2010 à 16:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Salut

Comme tu as du php dans le script, tu vas devoir renommer ton fichier de txt_contact.htm en txt_contact.php.

clarysse
 Posté le 13/03/2010 à 17:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Dreamer

J'ai renommé en txt_contact.php mais j'ai vu apparaître, dans les propriétés de DW, un point d'interrogation qui semble indiquer qu'il manque quelque chose (01_ 13.03.10) http://fr.tinypic.com/r/2072493/5

Le code a été placé entre <body> et </body>. Veux-tu le voir ?

Quant à la page Création, elle ne comporte toujours que le sigle PHP et rien d'autre.

Que dois-je faire s'il te plaît ?
Merci
clarysse

Dreamer
 Posté le 13/03/2010 à 18:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

clarysse a écrit :

Bonjour Dreamer

J'ai renommé en txt_contact.php mais j'ai vu apparaître, dans les propriétés de DW, un point d'interrogation qui semble indiquer qu'il manque quelque chose (01_ 13.03.10) http://fr.tinypic.com/r/2072493/5

Le code a été placé entre et . Veux-tu le voir ?

Quant à la page Création, elle ne comporte toujours que le sigle PHP et rien d'autre.

Que dois-je faire s'il te plaît ?
Merci
clarysse

Je veux bien .....Bon , le script est bien entre <body> et </body> mais à l'endroit où tu veux le placer !!

kalinka
 Posté le 13/03/2010 à 18:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucienne

dw ne peut pas executer du php qui est un langage serveur ( lu et appliqué par le serveur), il peut seulement l'écrire donc pour voir si ca marche il te faut enregistrer la page en .php (dw l'enregistre en .html par defaut) et l'envoyer sur ton serveur

Dreamer
 Posté le 13/03/2010 à 18:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Salut

Je te mets la partie contact en mode texte pour éviter l'interpretation par ce d'éditeur :

Début du script

<!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=iso-8859-1" />

<title>coordonn&eacute;es LL 22.12.09</title>

<style type="text/css">

<!--

#wrapper {

font-family: Arial, Helvetica, sans-serif;

font-size: 20px;

font-style: normal;

line-height: 35px;

color: #FFFFFF;

background-color: #000000;

scrollbar-base-color: #000000

}

body {

background-color: #000000;

}

-->

</style>

</head>

<body>

<div id="wrapper">

<div align="center">

<?php

/*

********************************************************************************************

CONFIGURATION

********************************************************************************************

*/

// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule

$destinataire = 'moi@fournisseur.tld';

// 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']) : '';

$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 != '') && ($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 = html_entity_decode($message);

$message = str_replace('&#039;',"'",$message);

$message = str_replace('&#8217;',"'",$message);

$message = str_replace('<br>','',$message);

$message = str_replace('<br />','',$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.php">Retour au formulaire</a></p>'."\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 ' <fieldset><legend>Vos coordonnées</legend>'."\n";

echo ' <p>'."\n";

echo ' <label for="nom">Nom :</label>'."\n";

echo ' <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";

echo ' </p>'."\n";

echo ' <p>'."\n";

echo ' <label for="email">Email :</label>'."\n";

echo ' <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";

echo ' </p>'."\n";

echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";

echo ' <p>'."\n";

echo ' <label for="objet">Objet :</label>'."\n";

echo ' <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";

echo ' </p>'."\n";

echo ' <p>'."\n";

echo ' <label for="message">Message :</label>'."\n";

echo ' <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";

echo ' </p>'."\n";

echo ' </fieldset>'."\n";

echo ' <br />'."\n";

echo ' <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";

echo '</form>'."\n";

};

?>

</div>

</div>

</body>

</html>

Fin du script

Et voilou , n'oublies pas txt_contact.php !!

clarysse
 Posté le 13/03/2010 à 19:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonsoir

Merci Kalinka. J'ai encore appris quelque chose ce soir et merci bien sûr Dreamer pour t'être donné le mal de préparer le script. Je l'ai appliqué et ça marche.

Comme je crains d'abimer le site de mon fils, je fais mes essais sur un "brouillon". On peut voir ainsi que ton script est correct http://www.terrenfeu.fr/terrenfeu/brouillon/txt_contact.php

Il ne me reste plus qu'à trouver où je dois faire des modifications car mon fils à qui appartient le site souhaite obtenir des personnes qui lui enverront un message, non seulement le nom et prénom, mais l'adresse et le téléphone. Je vais m'y atteler.

Je vous remercie beaucoup tous les deux et vous souhaite une bonne soirée.
clarysse

Dreamer
 Posté le 13/03/2010 à 20:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

clarysse a écrit :

Bonsoir

Merci Kalinka. J'ai encore appris quelque chose ce soir et merci bien sûr Dreamer pour t'être donné le mal de préparer le script. Je l'ai appliqué et ça marche.

Comme je crains d'abimer le site de mon fils, je fais mes essais sur un "brouillon". On peut voir ainsi que ton script est correct http://www.terrenfeu.fr/terrenfeu/brouillon/txt_contact.php

Il ne me reste plus qu'à trouver où je dois faire des modifications car mon fils à qui appartient le site souhaite obtenir des personnes qui lui enverront un message, non seulement le nom et prénom, mais l'adresse et le téléphone. Je vais m'y atteler.

Je vous remercie beaucoup tous les deux et vous souhaite une bonne soirée.
clarysse

Si Malcolm ( Grand maitre 77 ) passe par là , je suis sûr qu'il se fera un plaisir de t'aider !!

griggione
 Posté le 14/03/2010 à 08:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien
clarysse a écrit :

Il ne me reste plus qu'à trouver où je dois faire des modifications car mon fils à qui appartient le site souhaite obtenir des personnes qui lui enverront un message, non seulement le nom et prénom, mais l'adresse et le téléphone. Je vais m'y atteler.

RE

http://www.corsica-informatica.fr/contact.php

a

clarysse
 Posté le 15/03/2010 à 16:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Merci Griggione. J'ai tenté de travailler avec ton lien en regardant la source mais c'est beaucoup trop fort pour moi et Malcolm n'est pas passé au large de ma question comme l'avait supposé Dreamer.

Pour ta page Formulaire de contact, une fois enlevés : tes infos perso, Adresse2, objet du contact, et la réponse anti-spam, je n'ai pas été capable d'utiliser le script correctement, ce n'est pas faute d'avoir essayer pourtant.

Désolée. Il est tellement bien fait, toutes les notions sont si bien rassemblées que je ne suis vraiment pas capable de le manipuler et de m'en servir.

A + et merci à tous.

griggione
 Posté le 15/03/2010 à 18:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien
clarysse a écrit :

Merci Griggione. J'ai tenté de travailler avec ton lien en regardant la source mais c'est beaucoup trop fort pour moi et Malcolm n'est pas passé au large de ma question comme l'avait supposé Dreamer.

Bonjour tous

Mais tu peux aller tout simplement lui poser les questions sur son forum qui est là pour ça:
http://www.php-astux.info/forum/index.php

Et je t'assure qu'il se fera un plaisir de répondre, il ne laisse personne sur la touche, bref c'est quelqu'un de bien

Dreamer
 Posté le 15/03/2010 à 18:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

griggione a écrit :

Bonjour tous

Mais tu peux aller tout simplement lui poser les questions sur son forum qui est là pour ça:
http://www.php-astux.info/forum/index.php

Et je t'assure qu'il se fera un plaisir de répondre, il ne laisse personne sur la touche, bref c'est quelqu'un de bien

Je confirme !!

clarysse
 Posté le 15/03/2010 à 20:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Et moi qui voulais vous présenter le résultat de mes efforts, tout en me demandant ce qu'il fallait faire ensuite. Et pourtant, il faudrait bien que je sache indiquer les couleurs de fond (noir) et d'écriture (blanc) et surtout de savoir comment envoyer le message accusant réception. Enfin converser réellement avec l'internaute. Résultat là : http://i42.tinypic.com/t50lcn.jpg

Dois-je me tourner vers Malcolm ? Jamais je n'oserai. A vous lire tous, c'est un Dieu cet homme là !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

<head>

</title>

<link rel="stylesheet" media="screen" type="text/css" href="css/contact.css" />

<script type="text/javascript" src="js/date.js"></script>

<style type="text/css">

<!--

.Style1 {

font-family: "Times New Roman", Times, serif;

font-size: 16px;

}

-->

</style>

</head>

<!--[if lt IE 8]> <link type="text/css" rel="stylesheet" href="css/ie.css" /> <![endif]-->

<body>

<div id="header">

<ul>

<div align="center"><span class="Style1"><strong>Laurent Loizeau</strong><br />

Artiste Peintre Sculpteur <br />

12 rue Jean Jaur&egrave;s<br />

34140 Loupian<br />

Portable : 06 14 79 33 59<br />

email : laurent.loizeau@free.fr

</span><br />

</div>

</ul>

</div>

<div id="gauche">

<div id="bouton3">

<div class="menu5">

<li style="margin-left:55px;">

<form id="contact" method="post" action="">

<fieldset>

<div align="center">

<legend><strong>Vos coordonnées</strong> </legend>

</div>

<p>

<label for="nom">Nom Prénom :</label>

<input type="text" id="nom" name="nom" size="45" value="" tabindex="1" />

</p>

<p>

<label for="email">Email valide :&nbsp;</label>

<input type="text" id="email" name="email" size="42" value="" tabindex="2" />

</p>

</fieldset>

<fieldset>

<p>

<label for="adresse1">Adresse :&nbsp;</label>

<input type="text" id="adresse" name="adresse" size="45" value="" tabindex="3" />

</p>

<p>

<label for="postal">Code postal:</label>

<input type="text" id="postal" name="postal" size="10" value="" tabindex="5" />

</p>

<p>

<label for="ville">Ville :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>

<input type="text" id="ville" name="ville" size="38" value="" tabindex="6" />

</p>

<p>

<label for="phone1">T&eacute;l&eacute;phone :&nbsp;</label>

<input type="text" id="phone1" name="phone1" size="25" value="" tabindex="7" />

</p>

<p>

<label for="phone2">Portable :&nbsp;&nbsp;&nbsp;&nbsp;</label>

<input type="text" id="phone2" name="phone2" size="25" value="" tabindex="8" />

</p>

<p>

<label for="website">Site web :&nbsp;&nbsp;&nbsp;</label>

<input type="text" id="website" name="website" size="50" value="" tabindex="9" />

</p>

</fieldset>

<fieldset><legend>Votre message :</legend>

<p>

<label for="objet"><p>

<label for="message">Sujet du message :</label>

<textarea id="message" name="message" tabindex="11" cols="40" rows="8"></textarea>

</fieldset>

<fieldset>

</fieldset>

<div style="text-align:center;"><input type="checkbox" id="mailcopy" name="mailcopy" /> <label for="mailcopy">Cochez cette case si vous souhaitez recevoir une copie de ce mél.</label></div>

<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>

</form>

</body>

</html>

Dreamer
 Posté le 15/03/2010 à 20:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Malcolm Dieu ?? {#} N'exagérons pas, mais c'est un ange , ça oui !! {#}

Malcolm
 Posté le 15/03/2010 à 22:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

On m'appelle ? {#}

Mon formulaire est un formulaire "brut", dépourvu de mise en forme. Tout est prévu pour être fait par CSS. Il faut donc créer la page "normalement", puis y inclure ledit formulaire. DW mettra un petit carré jaune, parce que c'est un code PHP dépendant d'une condition et qu'il ne l'interprète pas autrement graphiquement.

Pour mettre en forme les messages (de succès ou d'erreur), il y a les 2 textes en début de code PHP, il suffit d'y mettre une classe CSS et de la documenter, comme ceci :

$message_envoye = '<p class="message_OK">Votre message a bien été envoyé ......</p>';

Et dans la page CSS associée à la page qui "include" le formulaire :

.message_OK

{

color:#009900; // vert

background-color:#DDEEAA; // vert clair

padding:1em;

}

Et faire l'équivalent pour le message d'erreur ...

Par ailleurs, je suis vraiment très occupé, donc je passe souvent en coup de vent par ici. C'est vrai que je mets un peu plus de priorité sur mon forum comme le dit griggione, par contre, puisqu'il y a mon logiciel de newsletter dont j'assure le support technique.

griggione
 Posté le 16/03/2010 à 08:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien
Dreamer a écrit :

Malcolm Dieu ?? {#} N'exagérons pas, mais c'est un ange , ça oui !! {#}

RE

Un ange sans elle bien sur

clarysse
 Posté le 16/03/2010 à 17:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Ange ou Dieu, merci Malcolm d'avoir entendu mon appel. Toutefois la nouvelle visite que j'ai rendue à ton site ne m'a pas permis d'en apprendre davantage. Je n'ai pas su entrer dans le forum et trouver le bon secteur pour y poser ma question

Ma compétence en informatique est tellement limitée que je cherche, (après avoir travaillé fort sur la préparation de la partie html en copiant sur Griggione + une partie css en attente) quelqu'un qui saurait me dire comment emboiter les trois parties de mon puzzle : les coordonnées en html, la partie en css que je ne sais où placer et bien sûr le mystérieux PHP. Je crois avoir les éléments mais j'ignore comment les intégrer les uns aux autres.

Sachant que je ne suis même pas capable de m'orienter dans la bonne direction dans un forum …..

Dreamer
 Posté le 16/03/2010 à 17:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

griggione a écrit :
Dreamer a écrit :

Malcolm Dieu ?? {#} N'exagérons pas, mais c'est un ange , ça oui !! {#}

RE

Un ange sans elle bien sur

Trop fort !!!

Dreamer
 Posté le 16/03/2010 à 17:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

clarysse a écrit :

Bonjour

Ange ou Dieu, merci Malcolm d'avoir entendu mon appel. Toutefois la nouvelle visite que j'ai rendue à ton site ne m'a pas permis d'en apprendre davantage. Je n'ai pas su entrer dans le forum et trouver le bon secteur pour y poser ma question

Ma compétence en informatique est tellement limitée que je cherche, (après avoir travaillé fort sur la préparation de la partie html en copiant sur Griggione + une partie css en attente) quelqu'un qui saurait me dire comment emboiter les trois parties de mon puzzle : les coordonnées en html, la partie en css que je ne sais où placer et bien sûr le mystérieux PHP. Je crois avoir les éléments mais j'ignore comment les intégrer les uns aux autres.

Sachant que je ne suis même pas capable de m'orienter dans la bonne direction dans un forum …..

Bonjour , regardes le post dans lequel je t'avais répondu , c'est à peu près pareil .

Le css , tu le mets après <style type="text/css"> ......

griggione
 Posté le 16/03/2010 à 18:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

Bonsoir tous

Perso je fais une feuille de style à part, contact.css avec le minimum pour l'affichage de la page qui a l'include + un css héritage que j'ai découvert à l'époque grace à l'{#} Malcolm

Pour l'exemple donné plus haut:

/*
===== CSS héritage =====
*/
#contact
{
margin-top: 10px;
}
#contact fieldset
{
margin-top: 20px;
padding: 5px;
border-color: #ffa500;
}
#contact fieldset legend
{
font-weight: bold;
font-size: 1.0em;
}
#contact fieldset label
{
margin-top: 10px;
margin-left: 10px;
color: #590c0c;
background-color: #ffeab7;
border-color: #ffd381;
font-size: 1.1em;
}
#contact fieldset input
{
margin-top: 10px;
margin-left: 10px;
color: #590c0c;
border-color: #ffd381;
font-size: 1.1em;
}
#contact fieldset textarea
{
margin-top: 10px;
margin-left: 10px;
color: #590c0c;
border-color: #ffd381;
font-size: 1.1em;
}
#contact div input
{
margin-top: 10px;
color: #590c0c;
background-color: #ffeab7;
border-color: #ffd381;
font-size: 1.1em;
}
.erreur_formulaire
{
color: #f10c0c;
font-style: italic;
font-weight: bold;
}

Malcolm
 Posté le 16/03/2010 à 19:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

clarysse a écrit :

Bonjour

Ange ou Dieu, merci Malcolm d'avoir entendu mon appel. Toutefois la nouvelle visite que j'ai rendue à ton site ne m'a pas permis d'en apprendre davantage. Je n'ai pas su entrer dans le forum et trouver le bon secteur pour y poser ma question

Ma compétence en informatique est tellement limitée que je cherche, (après avoir travaillé fort sur la préparation de la partie html en copiant sur Griggione + une partie css en attente) quelqu'un qui saurait me dire comment emboiter les trois parties de mon puzzle : les coordonnées en html, la partie en css que je ne sais où placer et bien sûr le mystérieux PHP. Je crois avoir les éléments mais j'ignore comment les intégrer les uns aux autres.

Sachant que je ne suis même pas capable de m'orienter dans la bonne direction dans un forum …..

Hello,

La bonne catégorie du forum est là : http://www.php-astux.info/forum/index.php/board,13.0.html

D'aileurs quelques sujets parlent de ce formulaire de contact.

Ce que je peux te conseiller : tu crées une page sur Dreamweaver, une page "classique" de ton site. Tu fais toute l'apparence, tu fais toutes les insertions de texte ou d'image que tu veux. Là où le formulaire doit apparaitre, tu écris : FORMULAIRE ICI.

Je te conseille ensuite d'aller dans Edition > Préférences > Comportement serveur (je ne sais plus le nom exact, mais de mémoire ça doit ressembler à ça) avec une liste de cases à cocher, et parmi l'une, de mémoire en bas, tu as "afficher les inclusions serveur". Tu décoches cette case pour ne pas que Dreamweaver affiche equ'il essaie de calculer alors qu'il n'y arriver a pas (tes codes PHP seront alors uniquement affichés par un petit carré jaune en mode création, juste pour signaler qu'ils sont là).

Une fois que ta page est prête (et est enregistrée avec un nom + extension .php comme par exemple "contact.php"), alors tu édites le code source, et tu repères dans le code source l'endroit où tu as écrit "FORMULAIRE ICI".

Tu effaces ces 2 mots, et tu colles le contenu du script de formulaire fourni en bas de l'article (formulaire en 1 seule page).

Tu remplaces ton email, et tu fais un essai. Si ça te convient, la première étape est franchie.

Ta page doit donc avoir le petit carré jaune "php" en lieu et place de "FORMULAIRE ICI".

2è étape : la personnalisation.

Tu retournes dans le code source, et tu repères ces quelques lignes :

// 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.";

Tu les remplaces par :

// Messages de confirmation du mail
$message_envoye = "<span class=\"message_envoye\">Votre message nous est bien parvenu !</span>";
$message_non_envoye = "<span class=\"message_non_envoye\">L'envoi du mail a échoué, veuillez réessayer SVP.</span>";

// Message d'erreur du formulaire
$message_formulaire_invalide = "<span class=\"message_formulaire_invalide\">Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.</span>";

Ceci étant fait, tu ouvres les propriétés CSS de ta page. Soit c'est un style CSS directement incorporé en tête de fichier, soit c'est un fichier indépendant, par exemple nommé "styles.css".

Quel que soit le cas, il te suffit d'ajouter ce code dedans :

.message_envoye /* correspond au message bien envoyé. En vert. */

{

color:#009900;

}

.message_non_envoye /* erreur à l'envoi du mail. Rouge. */

{

color:#FF0000;

}

.message_formulaire_invalide /* formulaire non rempli. Bleu. */

{

color:#000099;

}

je n'ai mis ici qu'une couleur de texte, libre à toi de mettre ce que tu veux. Attention, les noms des 3 classes n'ont ni accent ni espace (message_envoye, etc.)

Les 3 classes sont entre guillemets dans le fichier "contact" et elles sont précédées d'un point dans le fichier CSS.

clarysse
 Posté le 16/03/2010 à 19:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Dreamer : des comparaisons j'en ai fait plusieurs et tout particulièrement avec ton script qui m'avait paru convenir à mes besoins mais je me perds quelquefois.

regardes le post dans lequel je t'avais répondu , c'est à peu près pareil .

Le css , tu le mets après <style type="text/css"> ......

Peut-être l'avais-je mal placé. Je vais recommencer. Je te remercie

Griggione à écrit
Un ange sans elle bien sur
Voilà une plaisanterie dont je ne comprends pas le sens mais avec les pseudos ! et du moment que vous vous amusez ! ça fait du bien de temps à autre !

Perso je fais une feuille de style à part, contact.css avec le minimum pour l'affichage de la page qui a l'include + un css héritage que j'ai découvert à l'époque grace à l' Malcolm

Pour l'exemple donné plus haut

Je ne vois pas bien ce que c'est que la page qui a l'include (la page html dans laquelle justement on insère une feuille de style ?) le début du script de Dreamer, avant configuration ?

Css heritage ? jamais entendu parler de cela jusqu'alors. Je vais appliquer à mon formulaire et voir ce que cela donne.

Justement quand tu dis "pour l'exemple donné plus haut" s'agit-il du script de Dreamer ou du mien ? du mien je présume ?

Merci et bonne soirée à tous

griggione
 Posté le 17/03/2010 à 07:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Grand Maître astucien

RE

Suis à la lettre ce que te dis Malcolm, tu peux pas te tromper, en plus tu as les manips avec DW, le plus important pour toi.
Suis bien les étapes une à une, dés que tu as un doute tu demandes.

clarysse
 Posté le 17/03/2010 à 09:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour

Tous l'avaient dit et c'est vrai "on peut compter sur Malcolm". J'imprime toutes ces informations pour pouvoir les suivre à la lettre comme le conseille Griggione et j'espère bien pouvoir crier victoire mais il me faudra probablement un peu de temps pour aboutir.

Merci à tous. Je m'y plonge immédiatementet vous tient au courant.
A+

clarysse
 Posté le 17/03/2010 à 19:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

La bonne catégorie du forum est là : http://www.php-astux.info/forum/index.php/board,13.0.html

Merci Malcolm pour le lien car j'avoue m'être perdue tant il y a d'informations intéressantes. J'y retournerai pour compléter mes connaissances car il y a effectivement beaucoup d'autres sujets apparentés aux formulaires contact.

Cela dit, je me suis colletée une bonne partie de la journée avec les cordonnées ; je pensais avoir réussi au moins la format mais, sur le navigateur, Ô surprise la partie inférieure est venue s'ajouter au-dessus du formulaire http://www.terrenfeu.fr/terrenfeu/brouillon/txt_contact.php

J'ai mis dans le header les coordonnées complètes de mon fils (adresse complète nécessaire).

Aurais-je du les placer en dehors du formulaire, au-dessus ?

Le problème vient peut-être de ce que je n'ai pas su placer les codes à l'intérieur de la div wrapper nécessaire pour le site. (http://www.laurent-loizeau.com)

Voici le code. Merci à qui voudra bien me dire où est l'erreur ou les erreurs :

<!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=iso-8859-1" />

<title>txt_contact.php</title>

<style>

<!--

#wrapper {

font-family: "Times New Roman", Times, serif;

font-size: 16px;

}

-->

</style>

</head>

<body>

<div>

<div align="center">

<?php

/*

********************************************************************************************

CONFIGURATION

********************************************************************************************

*/

// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule

$destinataire = mon adresse e-mail;

// 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 = "Je vous rememrcie pour votre message ; une réponse vous parviendra rapidement !";

$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']) : '';

$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 != '') && ($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 = html_entity_decode($message);

$message = str_replace('&#039;',"'",$message);

$message = str_replace('&#8217;',"'",$message);

$message = str_replace('<br>','',$message);

$message = str_replace('<br />','',$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.php">Retour au formulaire</a></p>'."\n";

$err_formulaire = true;

};

}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))

{

// afficher le formulaire

echo '<form method="post" action="'.$form_action.'">'."\n";

echo ' <fieldset><legend>Vos coordonnées</legend>'."\n";

echo ' <p>'."\n";

echo ' <label for="nom">Nom :</label>'."\n";

echo ' <input value="'.stripslashes($nom).'" tabindex="1" />'."\n";

echo ' </p>'."\n";

echo ' <p>'."\n";

echo ' <label for="email">Email :</label>'."\n";

echo ' <input value="'.stripslashes($email).'" tabindex="2" />'."\n";

echo ' </p>'."\n";

echo ' </fieldset>'."\n";

echo ' <fieldset><legend>Votre message :</legend>'."\n";

echo ' <p>'."\n";

echo ' <label for="objet">Objet :</label>'."\n";

echo ' <input value="'.stripslashes($objet).'" tabindex="3" />'."\n";

echo ' </p>'."\n";

echo ' <p>'."\n";

echo ' <label for="message">Message :</label>'."\n";

echo ' <textarea tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";

echo ' </p>'."\n";

echo ' </fieldset>'."\n";

echo ' <div style="text-align:center;"><input value="Envoyer le formulaire !" /></div>'."\n";

echo '</form>'."\n";

};

?>

<body>

<div>

<ul>

<div align="center"><span><strong>Laurent Loizeau</strong><br />

Artiste Peintre Sculpteur <br />

12 rue Jean Jaur&egrave;s<br />

34140 Loupian<br />

Portable : 06 14 79 33 59<br />

e-mail : laurent.loizeau@free.fr

</span><br />

</div>

<div>

<div>

<div>

<li style="margin-left:55px;">

<form method="post" action="">

<fieldset>

<div align="center"> <legend><strong>Vos coordonnées</strong> </legend>

</div>

<p>

<label for="nom">Nom Prénom :</label>

<input size="45" value="" tabindex="1" />

</p>

<p>

<label for="email">Email valide :&nbsp;</label>

<input size="42" value="" tabindex="2" />

</p>

<p>

<label for="adresse1">Adresse :&nbsp;</label>

<input size="45" value="" tabindex="3" />

</p>

<p>

<label for="postal">Code postal:</label>

<input size="10" value="" tabindex="5" />

</p>

<p>

<label for="ville">Ville :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>

<input size="38" value="" tabindex="6" />

</p>

<p>

<label for="phone1">T&eacute;l&eacute;phone :&nbsp;</label>

<input size="25" value="" tabindex="7" />

</p>

<p>

<label for="phone2">Portable :&nbsp;&nbsp;&nbsp;&nbsp;</label>

<input size="25" value="" tabindex="8" />

</p>

<p>

<label for="website">Site web :&nbsp;&nbsp;&nbsp;</label>

<input size="50" value="" tabindex="9" />

</p>

</fieldset>

<fieldset><legend>Votre message :</legend>

<p>

<label for="objet"><p>

<label for="message">Texte de votre message :</label>

<textarea tabindex="11" cols="40" rows="8"></textarea>

</fieldset>

<div style="text-align:center;"><input /> <label for="mailcopy">Cochez cette case si vous souhaitez recevoir une copie de ce mél.</label></div>

<div style="text-align:center;"><input value="Envoyer le formulaire !" /></div>

</form>

</body>

</html>

Malcolm
 Posté le 17/03/2010 à 19:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

pourquoi ta page contient-elle 2x la balise <body> ?

Mon code en bas est simple, ce n'est que de l'HTML qui doit s'exécuter entre <body> et </body>.

Je vais prendre le problème autrement : montre-nous la page (PHP) avec la mention "FORMULAIRE ICI" c.à.d. avant d'inclure mon formulaire.

Publicité
Pages : [1] 2 3 4 5 ... Fin
Page 1 sur 7 [Fin]

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Coffret de douilles et embouts Mannesmann (130 pièces) à 22,99 €
22,99 € 57,99 € -60% @Amazon

Amazon fait une promotion sur le coffret de douilles et embouts Mannesmann (130 pièces) qui passe à 22,99 € au lieu de 47,99 €.


Voir le bon plan
Lot de 3 câbles INIU USB-A / USB-C (0.5m, 2x2m, charge rapide) à 7,79 €
7,79 € 11,99 € -35% @Amazon

Amazon fait une promotion sur le lot de 3 câbles INIU USB-A vers USB-C (0.5m, 2x2m, charge rapide) à 7,79 € grâce à un coupon à activer sur la page du produit au lieu de 11,99 €. 


Voir le bon plan
Kit de 16 Go (2x8Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3200 MHz à 54,94 €
54,94 € 80 € -31% @Amazon

Amazon fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance RGB Pro 3200 MT/s CL16 à 54,94 € alors qu'on le trouve ailleurs autour de 80 €. Vous pourrez personnaliser la palette de couleurs directement depuis le logiciel Corsair iCU.


Voir le bon plan
Câble INIU USB-C (2 mètres, nylon tressé, charge rapide) à 3,25 €
3,25 € 6,99 € -54% @Amazon

Amazon fait une promotion sur le câble INIU USB-C (2 mètres, nylon tressé, charge rapide) à 3,25 € grâce à un coupon de réduction à activer sur la page du produit. On le trouve habituellement à partir de 6,99  €. 


Voir le bon plan
PC portable 15.6 pouces Lenovo (FHD IPS, Ryzen 5, 8 Go de RAM, SSD 512 Go, RTX 3060, Windows 11) à 799,99 €
799,99 € 1100 € -27% @Cdiscount

Cdiscount fait une promotion sur l'ordinateur portable Lenovo IdeaPad Gaming 3 15ACH6 qui passe à 799,99 € alors qu'on le trouve ailleurs autour de 1100 €. 

Ce portable dispose d'un écran de 15.6 pouces FullHD IPS (1920x1080), d'un processeur AMD Ryzen 5 5600H, de 8 Go de RAM, d'un SSD de 512 Go, d'une carte graphique dédiée NVIDIA GeForce RTX 3060 6 Go, du WiFi et du Bluetooth.

Le tout tourne sous Windows 11.

Un bon portable adapté à la bureautique, au multimédia et aux jeux.


Voir le bon plan
Tour PC Lenovo IdeaCentre G5 (Core i5-11400F, 16 Go RAM, SSD 512 Go, GeForce RTX 3060 12Go) à 699,99 €
699,99 € 929,99 € -25% @Cdiscount

CDiscount fait une promotion sur la tour PC IdeaCentre G5 à 699,99 € avec le code STAR50LEN alors qu'on la trouve habituellement à 929 €. Cette tour très bien équipée possède un processeur Intel Core i5-11400F, 16 Go de RAM DDR4 3200 MHz (extensible à 32 Go), un SSD NVMe M.2 de 512 Go et une carte graphique GeForce RTX 3060 12 Go. Un clavier et une souris sont également fournis.

Une bonne affaire pour un PC qui sera à l'aise dans toutes les situations et tous les jeux.


Voir le bon plan

Sujets relatifs
Insérer un formulaire dans page " Contact"
caractères accentués dans formulaire contact
formulaire contact
Envoi checkbox par mail dans formulaire php
Formulaire de contact html/php
Formulaire de contact
recuperation formulaire dans les variables php
Calcul dans formulaire php
Formulaire de Contact - Referencement
Formulaire de contact e-mail
Plus de sujets relatifs à où placer le formulaire de contact dans DW 8
 > Tous les forums > Forum Forum des Webmasters