[PHP] Recevoir les données d'un formulaire

Résolu/Fermé
Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 - 1 févr. 2007 à 23:55
 lohan997 - 24 mai 2011 à 12:26
Bonjour,

Je vous écrits pour un problème de formulaire.

En effet, j'ai créé sur mon site une partie contact, contenant un formulaire.

Après plusieurs tentatives de php trouvé sur le net, je n'ai pas réussi à récupérer ces données. Je voudrais en fait recevoir les donénes du formulaire par mail, par l'intérmédiare d'une méthode POST et d'un script PHP (pour éviter l'ouverture du client messagerie avec mailto...)

Je vous invite à consulter mon code directement sur la page (car il est trop long pour le citer ici, pardonnez moi d'avance les erreurs de débutant dans mon code...)

Ma page de contact ici : http://objectifplanete.ovh.org/Contact.html

De plus, après avoir envoyé le données, j'aimerais que le visiteur tombe sur une page lui disant (le cas échéant) que son emssage a été envoyé ou non, et une redirection vers la page de contact. Malheureusement, encore une fois, après de nombreux essaie (j'y suis depuis toute la soirée), je n'ai pas réussi (soit les deux avertissements d'envoi et de non envoi du message apparaissent sur la même page, soit aucune redirection n'est faite...)

Je vous demande un petit peu d'aide, n'y connaissant absolument rien en PHP, j'ai seulement les bases de l'HTML.

Merci d'avance pour votre aide, j'espère ne pas être trop exigent, bien que je n'exige rien si ce n'est qu'un petit peu d'aide.

11 réponses

Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 539
2 févr. 2007 à 00:01
J'oubliais (désolé la fonction éditer n'est plus présente)

Mon hébergeur est compatible PHP4 et 5, et possède une base MySQL 4.1, se cela peut vous être utile...

Après je crois qu'il y a apache dessus, mais je n'en suis pas sur (hébergement chez ovh)
1
salut,

Tu dois exploiter une base la fonction mail de ton serveur.

Si tu voeux j'ai un script qui t'envoie un email avec piece attachée,

il n'est pas de moi mais j'arrive a l'exploiter et libre de droits.

Tu veux essayer ?
Je peut le mettre en ligne sur mon seveur et t'envoyer l'email avec les infos...
Et toi tu récupères et tu me dis ...

Ok ?
0
<?php

$type="text/plain";

//----------------------------------
// Construction de l'entête
//----------------------------------

if($_POST['to']!="")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

$msg .= "--$boundary\r\n";

$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "Demande : ".$_POST['demande']."\n";
$msg .= "Nom :".$_POST['nom']."\n";
$msg .= "Prénom : ".$_POST['prenom']."\n";
$msg .= "Message : "."\n".$_POST['message'];
$msg .= "\r\n";

$destinataire = $_POST['to'];
$expediteur   = $_POST['from'];
$reponse      = $expediteur;
echo "Mail envoyé à $destinataire";

mail($destinataire, 'Demande : '.$_POST['demande'].' - '.$_POST['sujet'], $msg,
     "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);

}

?>


Bonne réception,
0
Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 539
2 févr. 2007 à 07:35
Salut !

Merci pour le PHP et pour toute ton aide !

Désolé, j'ai répondu un peu trop rapidement a tes mails, le PHP est ici ^^

Je te remercie grandement encore, et bonne continuation !

Merci :D
0
Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 539
2 févr. 2007 à 08:18
Oups !

j'ai parlé trop vite...

J'ai modifié ton PHP pour le mettre à ma sauce, mais il marche plus :(

Qu'est-ce qui ne va pas ?

Voici le code, et mon message d'erreur : Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/o/b/j/objectifplanete/www/mail.php on line 34

<?php

$type="text/plain";

//----------------------------------
// Construction de l'entête
//----------------------------------

if($_POST['to']!="")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

$msg .= "--$boundary\r\n";

$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "Nom :".$_POST['nom']."\n";
$msg .= "Prénom : ".$_POST['prenom']."\n";
$msg .= "Mail : ".$_POST['mail']. "\n";
$msg .= "Demande : ".$_POST['demande']."\n";
$msg .= "Sujet : ".$_POST['sujet']."\n";
$msg .= "Message : "."\n".$_POST['message'];
$msg .= "\r\n";

$destinataire = $_POST['to'];
$expediteur   = $_POST['from'];
$reponse      = $expediteur;
echo "Votre mail a bien été envoyé. je vous répondrais dans les meilleurs délais. <a href="http://objectifplanete.ovh.org">Retour sur le site</a>;

mail($destinataire, 'Objectifplanete : Réponse au formulaire ',
     "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);

}

?>
0

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

Posez votre question
Salut,

La variable $_post['mail'] n'existe pas dans ton formulaire d'envoi donc ne l'utilise pas... C'est plutot la commande $_post['from'].

Tu as aussi oublié une cote " a la fin de ta phrase :
echo "Votre mail a bien été envoyé. je vous répondrais dans les meilleurs délais. <a href="http://objectifplanete.ovh.org">Retour sur le site</a>;

Je te reposte le code :

<?php

$type="text/plain";

//----------------------------------
// Construction de l'entête
//----------------------------------

if($_POST['to']!="")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

$msg .= "--$boundary\r\n";

$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "Nom : ".$_POST['nom']."\n";
$msg .= "Prénom : ".$_POST['prenom']."\n";
$msg .= "Mail : ".$_POST['from']. "\n";
$msg .= "Demande : ".$_POST['demande']."\n";
$msg .= "Sujet : ".$_POST['sujet']."\n";
$msg .= "Message : "."\n".$_POST['message'];
$msg .= "\r\n";

$destinataire = $_POST['to'];
$expediteur   = $_POST['from'];
$reponse      = $expediteur;
echo "<center><p>Votre mail a bien été envoyé. je vous répondrais dans les meilleurs délais.</p></center>" ;

mail($destinataire, 'Objectifplanete : Réponse au formulaire ',
     "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);

}
<center><p><a href="http://objectifplanete.ovh.org">Retour sur le site</a></p></center>
?>
0
sirthierry Messages postés 7 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 6 février 2007
2 févr. 2007 à 16:01
salut carotte :)
Moi aussi j'ai le meme probleme que toi voici ma page http://www.ateliersportif.fr/pages/locationski.htm et on m'a conseille d'aller voir ici http://actuel.fr.selfhtml.org/articles/phpasp/formulaires/index.htm mais ca ne resout tjrs pas mon probleme car je n'y connais rien en php. stpsi tu y arrives fait moi signe :)
0
Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 539
2 févr. 2007 à 18:12
il marche chez toi mais ej n'y comprend rien, chez moi toujours pas... Ile me met une erreur

Parse error: syntax error, unexpected '<' in /home/o/b/j/objectifplanete/www/mail.php on line 40

correspondant à cete ligne :

<center><p><a href="http://objectifplanete.ovh.org">Retour sur le site</a></p></center>


De plus, mon javascript qui doit me colorer les cases si l'info n'est pas transmise ne fonctionne plus, le php passe devant, donc pas de vérification :S

Pardonnez mon inexperience, mais j'ai un gros doute là.

Je dois avoir quoi sur le serveur ? un "contact.html" qui appelle un "contact.php", ou un "contact.php" qui contiendrait le code php puis le code html ??
0
salut carotte,

C'est normal, j'avais uniquement mis en place le php àla volée depuis mon travail cet apres midi et j'avais pas vu.

J'ai oublié des bouts de code ... (echo)

Je te propose de le mettre en place sur mon site perso et tu valides.

Dès que c'est ok je t'envoies le code et tu l'installe chez toi..

Je regarde ...
0
je t'ai envoyé de nouveau le code mais a part pour ne pas poluer le site;

A bientot
0
Carotte77 Messages postés 543 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 juin 2011 539
3 févr. 2007 à 13:21
Merci de m'avoir envoyé le code. Je ne suis pas chez moi ce week end, je ne peux donc rien exploiter d'ici, mais promis dès lundi matin je vais voir et j'essaie.

je te dirais si cela marche.

Encore merci pour tout ce que tu fais pour m'aider !! :)
0
Bonjour,
Après des heures de recherches sur le traitement de formulaire, j'en suis toujours au même point, je ne comprend vraiment pas grand chose.

Je chercherais donc un traitement de formulaire tous fais.
Parce que j'ai fais mon formulaire mais après le reste je comprend vraiment pas,
J'ai besoin d'aide svp.
Cordialement
0