8792 sujets

Développement web côté serveur, CMS

Je cherche depuis une semaine à résoudre ce problème, j'ai épuisé toutes les ressources trouvables en français par Google. La recherche ici ne donne rien.
Je ne trouve de réponse nulle part. En désespoir de cause, je post ce message, en espérant vivement que vous pourrez trouver quelque chose pour m'aider.

J'ai créer un formulaire HTML et un fichier PHP pour le traitement des données. (Dream MX Win. XP)
C'est un formulaire de contact. Je fais mes tests en ligne.
Les mailheaders fonctionnent.
Lorsque j'envoie mon formulaire après avoir renseigné mes champs, le contenu du mail est vide à part le texte de "$msg" c'est à dire : "Nom de l'expéditeur :..."

Form Html

<form method="post" action="mail.php" enctype="text/plain" name="mail" id="mail" >
	<p><label>Nom :</label><input type="text" name="nom" value="" size="40" tabindex="10"/></label></p><br/>
	<p><label>Prénom :</label><input type="text" name="prenom" value="" size="40" tabindex="20"/></label></p><br/>
	<p><label>Courriel :</label><input type="text" name="corp" value="" size="40"  tabindex="30"/></label></p><br/>
	<p><label>Sujet :</label><input type="text" name="sujet" value="" size="40"  tabindex="40"/></label></p><br/>
	<p><label>Message :</label><textarea name="message" value="" id="textarea" size="40" tabindex="50"/></textarea></label></p><br/>
<div class="droite">
	<p><input type="submit" name="envoyer" value="Envoyer" id="envoyer"></p></div>
	</form>



mail.php

<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$corp=$_POST['corp'];
$sujet=$_POST['sujet'];
$message=$_POST['message'];

$msg  = "Nom de l'expéditeur :\t$nom\n";
$msg .="Prénom de l'expéditeur :\t$prenom\n";
$msg .="Mail de l'expéditeur :\t$corp\n\n";
$msg .="Sujet :\t$sujet\n";
$msg .="Message :\t$message\n";

$recipient = "lathenardiere@gmail.com";
$subjet = "Mail du site CGG";


$mailheaders = "Date: ".date("l j F Y, G:i")."\n"; 
$mailheaders .= "From: Compagnie_des_Guides_de_Guyane <>\n";
$mailheaders .= "Reply-To: $corp\n";
$mailheaders .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";

mail($recipient, $subjet, $msg, $mailheaders);

echo "<html><head>";
echo "<title>Message envoyé !</title></head><body>";
echo "<h1 align=center> Merci $nom</h1>";
echo "<p align=center>";
echo "Votre message a bien été envoyé, nous vous répondrons dans les plus brefs délais.</p>";
echo "<align=center a href=\"index.php\" >Retour</a>";
echo "</body></html>";
?>



Pouvez vous m'aider à résoudre ce p....n de chi...te de grumbleuuu de problème qui m'prend la tête? Smiley langue

NB: Je fais mes premiers pas en PHP, soyez sympa et expliquez moi dans le détail. Merci
Modifié par Wuam (10 Mar 2007 - 18:36)
Administrateur
Bonjour,

Est-ce que ça fonctionne mieux si tu remplaces chaque fin de ligne dans la variable $mailheaders par:
[b]\r[/b]\n
Bonjour Felipe, merci de te pencher sur mon problème, vraiment je suis pas loin d'abandonner, mais je ne peux pas ...lol

Non rien de neuf.

En fait c'est comme si mes champs de formulaires n'enregistraient pas les infos qui y sont rentrés.

Je pense ça, car en plus, dans "echo" je dis "merci $nom". et bien le $nom n'est pas renseigné.
Les "$mailheaders" fonctionnent ainsi que les textes de "$msg"

Je viens de faire un tour sur mon client ftp (fireftp) et j'ai coché dans les propriétés de mes deux fichiers (le html et le mail.php) les cases "écriture" et "exécuter" de la partie "public".
J'ai testé, mais ça n'a pas fait fait avancer le schmilblick.

Je sèche, je sèche...je ne sais pas. Fluchtre de fluchtre...
Hum je suis pas sûre que ça existe ça

enctype="text/plain"


Ca marche pas mieux si tu l'enlève? Smiley lol

(tu as oublié les " " à action="mail.php" )
Modifié par skatybabe (08 Mar 2007 - 15:28)
Salut,
skatybabe a écrit :
Hum je suis pas sûre que ça existe ça

enctype="text/plain"

Sisi. Smiley smile
<!ATTLIST form
  %attrs;
  action      %URI;          #REQUIRED
  method      (get|post)     "get"
  [b]enctype[/b]     %ContentType;  "application/x-www-form-urlencoded"
  onsubmit    %Script;       #IMPLIED
  onreset     %Script;       #IMPLIED
  accept      %ContentTypes; #IMPLIED
  accept-charset %Charsets;  #IMPLIED
  >
"enctype" oui mais 'enctype="text/plain"' non Smiley ravi

J'ai testé le script de Wuam sans ce code et ça passe sans prob Smiley langue
skatybabe a écrit :
Hum je suis pas sûre que ça existe ça

enctype="text/plain"


text/plain est un type de media on ne peut plus classique et normalisé. Vous l'utilisez même quotidiennement sans le savoir Smiley cligne
Modifié par Laurent Denis (08 Mar 2007 - 16:07)
SAlut à tous,
Ouais du monde...c'est cool... je me sentais bien seule ces derniers temps...
Aaaaaaaaaaaaalors, j'ai corrigé le action="mail.php" dans le html.
Je pensais l'avoir déjà fait pis finalement, non. Bref.
J'ai viré le "text/plain".

Et je reçois...toujours rien
Je renseigne les champs, j'envoie le mail, Je reçois le mail avec ça dedans:
a écrit :
Nom de l'expéditeur :
Prénom de l'expéditeur :
Mail de l'expéditeur :

Sujet :
Message :

Voila c'est vide quoi. Comme si mes champs n'étaientt pas des champs quoi.

Pinaise, je vais finir par croire que c'est pas le code le problème.
Mais ce serait quoi alors?
Je teste en ligne. Si je le reçois, c'est qu'il n'y a pas de souci avec le serveur.

Jcomprends pas, j'comprends pas, j'comprends pas.... Smiley decu Smiley fache

Bon je remets le code php, dernière MAJ :
<?php
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$corp=$_POST['corp'];
$sujet=$_POST['sujet'];
$message=$_POST['message'];

$msg  = "Nom de l'expéditeur :\t$nom\n";
$msg .="Prénom de l'expéditeur :\t$prenom\n";
$msg .="Mail de l'expéditeur :\t$corp\n\n";
$msg .="Sujet :\t$sujet\n";
$msg .="Message :\t$message\n";

$recipient = "lathenardiere@gmail.com";
$subjet = "Mail du site CGG";


$mailheaders = "From: Compagnie_des_Guides_de_Guyane <>\r\n";
$mailheaders .= "Reply-To: $corp\r\n";

mail($recipient, $subjet, $msg, $mailheaders);

echo "<html><head>";
echo "<title>Message envoyé !</title></head><body>";
echo "<h1 align=center> Merci $nom</h1>";
echo "<p align=center>";
echo "Votre message a bien été envoyé, nous vous répondrons dans les plus brefs délais.</p>";
echo "<align=center a href=\"index.php\" >Retour</a>";
echo "</body></html>";
?>



Merci d'être là, ça me fait bien plaisir! Smiley smile
Modérateur
euh... c'est pas :

enctype="multipart/form-data"

accept="text/plain"


? (Je vois bien la DTD hein mais c'est vrai que j'ai pas compris le pourquoi du changement d'attribut Smiley langue )
Modifié par koala64 (08 Mar 2007 - 16:29)
enctype permet au navigateur d'adresser la requête au serveur avec le type de contenu approprié (C'est un peu l'équivalent du content-type HTTP, dans l'autre sens)

accept, en revanche, renseigne le navigateur sur les types de contenus attendus par le serveur, afin de lui permettre de valider localement l'action de l'utilisateur (un peu à la manière de l'en-tête HTTP accept qui fonctionne - plus directement - dans l'autre sens)
Modifié par Laurent Denis (08 Mar 2007 - 16:40)
Beuuuuuhhh, et je fais quoi avec ça. Il faut que j'indique un enctype? Je mets quoi?
Ayééééééééééééééééééééééééé ....


Vous m'avez mis sur la piste.
En fait le code PHP est juste, il y avait une erreur dans le code HTML et ça concernait "enctype" justement.

<form method="post" action="mail.php" enctype="application/x-www-form-urlencoded" name="mail" id="mail" >


enctype="application/x-www-form-urlencoded"

Je vous avoue, c'est pas moi qui est trouvé.

Piinaise après des heures de prises de tête, je vais enfin pouvoir passer à autre chose.
Comme protéger l'adresse mail des spammers par exemple....
Et c'est reparti pour d'autres aventures PHPesques !!!! Smiley rolleyes Mais mainenant, je connais tous les bons sites pour développer facilement. Lol

Merci à tous.
[Topic closed]
J'avais pas trouvé le bouton, je pensais que c'était les modos, qui "[résolu]-vaient" les posts. Smiley biggrin

Mea Culpa...