Problème de formulaire

Fermé
Cro_mag Messages postés 118 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 - 16 oct. 2009 à 10:43
Cro_mag Messages postés 118 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 - 16 oct. 2009 à 20:33
Bonjour,

Désolé de créer je pense un énième sujet sur les formulaires, mais dans mes recherches je n'ai pas trouvé mon onheur.

Je conçois un site en HTML et je souhaite faire un formulaire de contact; seulement je n'y arrive pas.
Je dispose de DR CS4. j'essaye avec les champs textes spry, je construit mon formulaire, mais c'est bien beau a part mettre les boutons et les noms, je ne vois pas comment l'envoyer directement sur l'adresse email que je souhaite
Voila pour le moment mon code :

<form method="post" action="traitement.php">
<p><span id="sprytextfield1">
<label>Nom
<input type="text" name="nom" id="nom" tabindex="1" />
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span></p>
<p><span id="sprytextfield2">
<label>Prénom
<input type="text" name="prenom" id="prenom" tabindex="2" />
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span></p>
<p><span id="sprytextfield3">
<label>E-mail
<input type="text" name="email" id="email" tabindex="3" />
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span><span class="textfieldInvalidFormatMsg">Format non valide.</span></span></p>
<p><span id="sprytextfield4">
<label>Titre
<input type="text" name="titre" id="titre" tabindex="4" />
</label>
</span></p>
<p><span id="sprytextarea1">
<label>Message
<textarea name="message" id="message" cols="45" rows="5" tabindex="5"></textarea>
</label>
<span class="textareaRequiredMsg">Une valeur est requise.</span></span></p>
<p>
<label>
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</label>
</p>
</form>


j'ai vu dans des eplications qu'il fallait donc creer une page php qui est ici traitement.php
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre message nous a bien été envoyé.";
$message = $msg_erreur;

define('MAIL_DESTINATAIRE','######@####.com');~ //j'ai modifié volontairement l email pour le post
define('MAIL_SUJET','Formulaire de contact Tuan-gallery Photographie');

// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse mail<br/>";

if (strlen($message) > strlen($msg_erreur)) {

echo $message;

}

else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses rubriques préférées : $sqlpref\n\n\n";
$mail_corps .= $message;

/ envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Suite à un problème technique, votre message n a pas été envoyé';
}
}
?>

Mais y'a rien qui marche, et pour etre honnete y a des parties que je comprends pas.
Si quelqu'un pouvait m'aider ce serait super sympa

Je vous remercie par avance

7 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
16 oct. 2009 à 13:35
bonjour,

j'ai juste ragerder vite fais voici une erreur:
else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

remplacer par:
else {

foreach($_POST as $index => $valeur) {
$index = stripslashes(trim($valeur));
}

il y avait un $ de trop !
0
Cro_mag Messages postés 118 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 1
16 oct. 2009 à 13:49
Bonjour Nico,

merci j'ai corrigé ca, mais ca ne marche toujours pas :(
je desespere..lol
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
16 oct. 2009 à 15:33
re:
/ envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { 

donc dans le code que j'ai copier depuis ce que tu nous donne il y a 3 fautes !
/ envoi du mail
remplacer par :
// envoi du mail

if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
remplacer par:
if (mail('TON_ADRESSE_M@il','Contact_de_mon_site',$mail_corps,$mail_entete)) {

Il faut que tu remplace : TON_ADRESSE_M@il par la vrai adresse
Contact_de_mon_site => c'est le sujet que tu veux voir apparaitre
il faut bien que tu laisses les ' ' tu écris entre !

donne des nouvelles
0
Cro_mag Messages postés 118 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 1
16 oct. 2009 à 16:30
salut,

J'ai corrigé ce que tu m'as dit, voila l'erreur que j'ai une fois validé (page blanche avec tout ca d'écrit)

"; $msg_ok = "Votre message nous a bien été envoyé."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','######l@###.com'); define('MAIL_SUJET','Formulaire de contact Tuan-gallery Photographie'); // vérification des champs if (empty($_POST['nom'])) $message .= "Votre nom
"; if (empty($_POST['email'])) $message .= "Votre adresse mail
"; if (strlen($message) > strlen($msg_erreur)) { echo $message; } else { foreach($_POST as $index => $valeur) { $index = stripslashes(trim($valeur)); } //Préparation de l'entête du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // préparation du corps du mail $mail_corps = "Message de : $civilite $nom\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= "Ses rubriques préférées : $sqlpref\n\n\n"; $mail_corps .= $message; // envoi du mail if (mail('#######@###.com','contact Tuan-Gallery',$mail_corps,$­mail_entete)) { //Le mail est bien expédié echo $msg_ok; } else { //Le mail n'a pas été expédié echo 'Suite à un problème technique, votre message n a pas été envoyé'; } } ?>


Mon code php que j'ai corrigé grace a toi (je l'ai fait en ouvrant une nouvelle feuille php dans dreamweaver que j ai nommé traitement.php) [j'explique ca on sait jamais si j'ai fait une erreur dans ces choses la]

<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre message nous a bien été envoyé.";
$message = $msg_erreur;

define('MAIL_DESTINATAIRE','#####l@###.com');
define('MAIL_SUJET','Formulaire de contact Tuan-gallery Photographie');

// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse mail<br/>";

if (strlen($message) > strlen($msg_erreur)) {

echo $message;

}

else {

foreach($_POST as $index => $valeur) {
$index = stripslashes(trim($valeur));
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses rubriques préférées : $sqlpref\n\n\n";
$mail_corps .= $message;

// envoi du mail
if (mail('####@###.com','contact Tuan-Gallery',$mail_corps,$­mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Suite à un problème technique, votre message n a pas été envoyé';
}
}
?>


merci de ton aide Nico, je vais en avoir grand besoin !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
16 oct. 2009 à 19:21
bon, je n'ai pas plus de temps car j'ai eu un imprévu (on s'en fou je sais!)voici donc un générateur de formulaire php

bonne soirée si il a un problème donne des infos ici, je devrais arriver a me reconnecter
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
16 oct. 2009 à 20:16
Le problèmen, c'est que tu insères directement ton script PHP comme du texte normal, c'est-à-dire en mode WYSIWYG (si tu ne parles pas chinois, c'est comme dans Word) → Passe en mode "source" et n'oublie pas de renommer tes pages en .php
0
Cro_mag Messages postés 118 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 18 janvier 2010 1
16 oct. 2009 à 20:33
t'inquietes avion-f16 j'en suis quand même pas a ce point la.
Je mets bien mon code dans la partie code et pas dans l'écriture comme sous word..
et mon fichier se nomme bien traitement.php

je vais essayer ce formulaire php alors, merci nico
0