Formulaire de contact problème php

Résolu/Fermé
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013 - 1 mars 2013 à 11:03
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013 - 1 mars 2013 à 18:42
Bonjour,
Je planche sur mon problème depuis hier soir sans succès alors je me dirige vers vous maintenant...
Je souhaite que les utilisateurs de mon site puissent me contacter et pour cela je veux un formulaire de contact, j'ai trouvé des tutoriel très bien fait, mais mon problème c'est que quand je clique dans mon formulaire sur "Envoyer", et bien une page s'ouvre avec le codage php qui s'affiche dedans...
Donc aucun mail n'est envoyé, seule la page php s'affiche en format txt au lieu de se lancer pour envoyer le mail...
Voici le code, en espérant que vous pourrez m'aider... j'ai le cerveau qui chauffe et en tant que grande débutante c'est très frustrant lol
Avant de personnaliser mon formulaire j'aimerais au moins que celui là tout fait fonctionne... je ne sais pas si c'est moi qui ai mis quelque chose là où il faut pas ou bien si c'est le lien action qui est mauvais... je suis dans le flou !^^
code html :
<html>
<p align="center"><strong>Contact</strong></p>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
<tr> 
<td colspan="3"><strong>Envoyer un message</strong></td>
</tr>
<tr> 
<td><div align="left">Votre nom :</div></td>
<td colspan="2"><input type="text" name="nom" size="45" maxlength="100"></td>
</tr>
<tr> 
<td width="17%"><div align="left">Votre mail :</div></td>
<td colspan="2"><input type="text" name="mail" size="45" maxlength="100"></td>
</tr>
<tr> 
<td><div align="left">Sujet : </div></td>
<td colspan="2"><input type="text" name="objet" size="45" maxlength="120"></td>
</tr>
<tr> 
<td><div align="left">Message : </div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr> 
<td></td>
<td width="42%"><center>
<input type="reset" name="Submit" value="Réinitialiser le formulaire">
</center></td>
<td width="41%"><center>
<input type="submit" name="Submit" value="Envoyer">
</center></td>
</tr>
</form>
</table>
</html>


code php :
<?php 
$nom=$HTTP_POST_VARS['nom']; 
$mail=$HTTP_POST_VARS['mail']; 
$objet=$HTTP_POST_VARS['objet']; 
$message=$HTTP_POST_VARS['message']; 

/////voici la version Mine 
$headers = "MIME-Version: 1.0\r\n"; 

//////ici on détermine le mail en format text 
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 

////ici on détermine l'expediteur et l'adresse de réponse 
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 

$subject="$objet"; 
$destinataire="excellence.virginieleila@gmail.com"; //remplacez "webmaster@votre-site.com" par votre adresse e-mail
$body="$message"; 
if (mail($destinataire,$subject,$body,$headers)) { 
echo "Votre mail a été envoyé<br>"; 
} else { 
echo "Une erreur s'est produite"; 
} 
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="http://ww12.votre-site.com">ici 
</a></p>


Je vous remercie d'avance
PS : j'essaie en local pour le moment. J'ai essayé d'autres tutoriels sur mon site directement et j'obtiens le même résultat.
A voir également:

10 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 11:05
Bonjour,

quel environnement utilises-tu ? Comment accèdes-tu à tes pages ?
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 11:21
Bonjour ThEBiShOp;

Pour le moment je fait tout en local.
L'environnement c'est ce que j'utilise pour le faire ? j'ai utilisé que sublime text 2 pour faire les codes, et c'est pour mettre ensuite sur une plateforme chamilo...

J'espère que c'est cela que tu attendais, sinon demande moi plus précisément. je suis désolée je débute.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 11:37
Alors pour exécuter des applications web, il faut un serveur web.
Les fichiers html peuvent s'exécuter directement dans le navigateur, mais pour exécuter du php il faut absolument un serveur web.

En local on utilise souvent des applications comme wamp, qu'il faudrait que tu installes.

Une fois que ça sera fait, tu placeras tes fichiers dans le repertoire www de wamp, et tu pourras accéder à tes fichiers via l'adresse http://localhost/ dans ton navigateur
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 12:18
D'accord.
J'ai bien installé sur le PC ; il dit que le server est online et le fond de l'icone est blanc, et j'ai collé mon dossier où se trouvent mes deux fichiers ( rapportbug.html et envoi.php) dans le dossier www.
Mais quand j'essaie d'y aller j'ai ce message qui apparaît, je pense que j'ai du zapper une étape :
The requested URL /RAPPORTBUG/rapportbug.html was not found on this server...
0

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

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 12:23
tu essayes d'accéder au fichier comment ?
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 12:49
tout bêtement, http://localhost (= ce que tu m'as donné tout à l'heure) et j'ai ajouté /RAPPORTBUG/rapportbug.html...

Mais c'est pas aussi bête que ça puisque ça marche pas lol
Je vais devoir me pencher à fond dessus pour apprendre car ça m'intéresse. je suis mazo plus je bute sur quelque chose et plus je m'obstine pour y arriver ^^
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 12:52
C'est bien d'être obstiné, mais faut savoir aussi prendre du recul parfois pour mieux voir les solutions ;)

Si tu as mis le fichier rapportbug.html dans le dosser www de wamp, tu vas accéder à ce fichier via http://localhost/rapportbug.html tout simplement
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
Modifié par lili78370 le 1/03/2013 à 15:30
En effet ! Ca fonctionne.
J'ai fait le formulaire qu'il me faut, mais quand je valide pour envoyer, j'obtiens ce message d'erreur :

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\envoi.php on line 70

Je vais voir à la ligne 70 et j'y ai ceci :
mail($destinataire, $sujet, $contenu, $headers); // Fonction principale qui envoi l'email

PS : je l'ai monté sur la plateforme où il est censé attérir une fois opérationnel, et là bas en cliquant sur envoyer le message, j'obtiens une page toute blanche...
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 15:29
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 15:52
Malheureusement j'ai toujours la même erreur en ayant suivi le tuto a la lettre... je vais encore chercher
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
1 mars 2013 à 15:53
il y a toujours le même message d'erreur ?
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
Modifié par lili78370 le 1/03/2013 à 16:12
dans le fichier php.ini j'ai enlevé le ; avant sendmail-path et ça me met maintenant : Message envoyé après avoir cliqué sur envoyer.
J'attends un peu pour voir si je vais recevoir quelque chose sur ma boite... suspense

PS : en fait non je reçois rien car par défaut dans mon script il dit "message envoyé", j'ai ajouté la condition si ca envoi alors c'est ok, sinon il me dit qu'il a pas été envoyé.
Et donc le résultat que j'obtiens c'est : pas de message d'erreur comme avant, mais simplement "Désolé, votre message n'a pu être envoyé"
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 16:40
Quand je le met en ligne, j'obtiens après validation une page blanche.
J'ai lu si j'ai bien compris quelque part que parfois ce genre d'envoi peut-être bloqué dans certains sites. Est-ce que ça pourrait être le problème ?

Sachant que moi sur cette plateforme j'ai une boite, qui ne marche pas par mail.
Lorsque je copie à quoi je correspond dans la plateforme j'obtiens ceci :

http://cours.loasisdelexcellence.com/whoisonline.php?origin=user_list&id=1165

Et pour m'envoyer un mail, que je fait analyser l'élément où est mon nom il y a une <li> avec dedans la class sans doute pour le style, et la mention : rel=1165 (qui est si je comprends bien mon "matricule" au sein de la plateforme). Comme je n'ai pas accès au coeur du code de la plateforme, je ne sais pas si c'est possible de faire que mon formulaire envoie un mail sur ma boite de la plateforme, au lieu de le faire envoyer sur gmail (ce que j'ai essayé pour l'instant et qui me rend une page blanche lorsque c'est en ligne)

L'idéal c'est le recevoir sur gmail, mais bon si c'est pas possible je cherche une autre solution...
0
lili78370 Messages postés 15 Date d'inscription lundi 7 janvier 2013 Statut Membre Dernière intervention 20 mars 2013
1 mars 2013 à 18:42
Je peux mettre un beau résolu !

Finalement j'ai réinstallé wamp.
Et dans php.ini j'ai simplement modifié :
SMTP = smtp.free.fr

et j'ai mis mon adresse mail dans :
sendmail_from =

Ca fonctionne donc en local, ca ne fonctionne pas en ligne sur la plateforme Chamilo, mais ceci est un autre problème.

Je te remercie une fois de plus pour ton aide ThEBiShOp !
0