Site formulaire en html et en php

Fermé
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012 - 27 févr. 2012 à 14:51
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012 - 27 févr. 2012 à 18:04
Bonjour,



Je me lance dans la programmation et je crée mon site qui d'ailleurs avance bien avec pas mal de tutos x)
Mais je rencontre un problème, j'ai créer une zone contact qui comporte un formulaire qui est en forme mais lors de l'envoie (en email) le message suivant "Une erreur est survenue lors de l'envoi du formulaire par email" apparaît...

Donc si quelqu'un à l'habitude de ce genre de chose, je possède skype: varquesse
Le site est celui-ci si vous en avez besoin pour les codes pour m'aider: http://varquesse.hebergratuit.com/index.html



et voici la partie HTML du Formulaire :

<form method="post" action="traitement.php">
<p class="titre">Coordonnées</p>
<fieldset id="coordonnees">
<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>



Et la partie PHP qui se situe dans un fichier traitement.php

<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','designphotoshop@hotmail.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');

// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}

// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
  $sqlinterets .= $interets[$i];
  $sqlinterets .= ', ';
}

//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 centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// 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 "Une erreur est survenue lors de l'envoi du formulaire par email";
}

?>


Voilà, si quelqu'un aurais une idée, Je sais qu'il existe déjà quelques tutos mais la plus part sont ancien ou alors déjà essayés avec le même résultat, Pour un aide approfondi je rappelle que je possède skype: varquesse


Cordialement,
varquesse
A voir également:

5 réponses

bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
Modifié par bissdebrazza le 27/02/2012 à 15:37
Salut!
Dis moi les valeurs en gras représentent quoi?Pourquoi ne pas utiliser les variables comme pour les autres paramètres?
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) 

«Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
Jean-Jacques ROUSSEAU
1
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 15:43
Salut, pour résumer, c'est un code d'un autre tuto mais à parement ne fonctionne pas et je rame depuis 2 jours sur ça donc je ne vois pas l'erreur...
Possède tu skype pour en discuter en profondeur ?
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
27 févr. 2012 à 15:48
Salut!
Désolé je ne peux pas utiliser skype car je suis au bureau. Essai ce code:

<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
$mail_destinataire="designphotoshop@hotmail.fr";
$mail_sujet="Message du formulaire de example.com";
//define('MAIL_DESTINATAIRE','designphotoshop@hotmail.fr'); // remplacer par votre email
//define('MAIL_SUJET','Message du formulaire de example.com');

// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}

// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
  $sqlinterets .= $interets[$i];
  $sqlinterets .= ', ';
}

//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 centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// 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 "Une erreur est survenue lors de l'envoi du formulaire par email";
}

?>
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 15:54
de mon coté toujours le même problème,
peut-tu essayer d'envoyer un formulaire au cas ou ?
http://varquesse.hebergratuit.com/contact_us.html

cordialement
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
27 févr. 2012 à 15:57
Je ne peux pas accéder à ton site (eh oui le pare feu de l'entreprise me dit que le site est considéré non fiable). Par contre je me pose une question,tu es un sur un hébergement gratuit?si c'est le cas,il se pourra que la fonction mail() de l'hébergeur soit désactivé.donc ça ne marchera pas.
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 16:04
Oui c'est un hébergeur gratuit mais je penser le passer en nom de domaine .com ou .fr ...
Si c'est vraiment cela qui bloque, y a t-il un hébergeur conseiller ?
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
27 févr. 2012 à 16:08
Une liste d'hébergeur payants et gratuits. Bon déjà les gratuits il faut oublier,en ce qui concerne les payants c'est difficile à dire concernant le choix car chacun à son avis.Je suis satisfait d'un hébergeur,d'autres te dira que c'est vraiment du n'importe quoi. Pour être sincère,je n'ai jamais eu des problèmes avec 1&1 et online.
Cdt
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 17:04
Saurait-tu me dire si E-clicking : http://fr.e-clicking.com/hebergement/essential/ utilise le php, javascript ou surtout le php mail / form mail ?

cdlt
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
27 févr. 2012 à 17:40
Je n'en sait rien,pose ta question sur le forum d'e-clicking.
0
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 18:04
ok merci
0

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

Posez votre question
varquesse Messages postés 19 Date d'inscription vendredi 30 avril 2010 Statut Membre Dernière intervention 28 février 2012
27 févr. 2012 à 16:12
Ok, merci de ton aide ;)
0