Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1256 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème Formulaire de contact

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème Formulaire de contact

n°1911064
seyart
Posté le 03-08-2009 à 00:47:46  profilanswer
 

Bonjour,

 

Mon problème concerne un formulaire de contact
Ce formulaire provient du site suivant : http://dev.ppan.net/formulaire-san [...] jointe.php (le code y est détaillé)
L'intégration au site se passe bien, tout fonctionne bien mais pas sur l'hébergeur NewNet.
Je m'explique : J'ai testé ce formulaire en l'hébergeant chez Free et tout fonctionne bien. Etant donné que l'entreprise dans lequel je suis en stage a un compte chez NewNet.co.uk, j'ai été obligé d'héberger le site chez eux.

 

Cependant, j'ai rencontré plusieurs souci :
Au début, la fonction mail semblait désactivé. En basculant de PHP4 vers PHP5 (dans le panneau de contrôle de l'hébergeur) la fonction mail s'est activé (testé avec un script de test de la fonction ()mail de PhpBB et avec un formulaire tout simple).
Cependant, mon formulaire ne fonctionne toujours pas, à l'envoi du message il me renvoi une erreur.
Voici ma page : http://www.sage50andyou.co.uk/contact.php (le code du formulaire est identique à l'original dont le lien est au début du message, à l'exception de l'adresse du destinataire qui a été modifié en conséquence).

 

Ma page  fonctionne donc bien chez Free, et non chez NewNet alors que la fonction mail est activée.
Le code ferait il appel à une autre fonction inexistante chez NewNet?

 

Merci d'avance pour votre aide.

 

PS : je ne m'y connais pas en PHP


Message édité par seyart le 03-08-2009 à 11:01:05

---------------
Seyart Design, Portfolio d'un développeur web, webdesigner et infographiste
mood
Publicité
Posté le 03-08-2009 à 00:47:46  profilanswer
 

n°1911382
NewsletTux
<Insérez ici votre vie />
Posté le 03-08-2009 à 18:17:05  profilanswer
 

La première chose que tu puisse faire est soit d'activer les erreurs, soit de voir les fichiers logs.
 
En général c'est dans /var/log/apache2/ et ils s'appellent error.log et access.log (les erreurs, et les URL auxquelles on a accédé).
si l'hébergeur a masqué l'affichage des erreurs pour plus de sécurité, elles sont au moins écrites là.
 
Ensuite, au lieu de :

Code :
  1. if (@mail(...


 
teste avec :

Code :
  1. if (mail(...


 
le @ sert justement aussi à masquer l'affichage de l'erreur.
 
Vois déjà en fonction de cela. Accepte-t-il des pièces jointes, est-ce que les headers sont bons ... ça fait plusieurs hypothèses.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1911579
seyart
Posté le 04-08-2009 à 12:10:52  profilanswer
 

Bonjour,  
 
Je viens donner des nouvelles :
J'ai ajouter une ligne de code :

Code :
  1. set_ini ('SMTP', 'mail.sage50andyou.co.uk')


L'email s'envoit bien maintenant.
 
Cependant, j'ai rencontré d'autres problèmes :
Mail vers Gmail : soit on écrit un message, soit on envoit une piece jointe. On ne peut pas avoir les deux. (si on envoit un message avec pièce jointe, seule la pièce jointe s'affichera)
Mail vers Voila, horde (boite mail du nom de domaine) : Le message s'affiche sur une ligne, mal espacé et la pièce jointe s'affiche en un code incompréhensible à la suite du message. Inutilisable donc.
 
Un membre du forum IPCm'a dit d'enlever les tirets ici :

Code :
  1. if(strlen($piecejointe)) {
  2. $boundary = "/-------".md5(uniqid(rand()))."-------/"; // séparateur


Afin d'avoir ceci :

Code :
  1. if(strlen($piecejointe)) {
  2. $boundary = md5(uniqid(rand())); // séparateur


et de rajouter des \r en plus des \n ce qui a donner pour le segment de code concerné ceci :

Code :
  1. if(strlen($piecejointe)) {
  2.          $boundary = md5(uniqid(rand())); // séparateur
  3.          $headers .= "\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
  4.          $message_final =
  5.             "This is a multi-part message in MIME format.\n--$boundary\n".
  6.             "Content-Type: text/plain; charset=ISO-8859-1\r\n\n".
  7.             "Content-Transfer-Encoding: 7bit\r\n\n".
  8.             "$message_final\n\n--$boundary\n".
  9.             "Content-Type: $mimetype; name=\"$name\"\r\n".
  10.             "Content-Transfer-Encoding: base64\r\n".
  11.             "Content-Disposition: attachment; filename=\"$name\"\r\n\n".
  12.             "$piecejointe\n--".
  13.             $boundary."--\n";
  14.       }


 
Suite à ce changement, l'envoi du mail fonctionne parfaitement sur gmail, mais ne fonctionne toujours pas vers les autres boites.
J'ai testé un autre formulaire de contact avec pièce jointe (http://www.toocharger.com/fiches/s [...] t/5175.htm mais cela fait la même chose (marche bien vers gmail mais pas vers les autres boites).
J'en conclu que le problème vient de l'hébergeur, qui a du trafiquer sa fonction ()mail.
 
Je laisse donc tomber, mon client utilisera gmail ou rien. :lol:  
 
Merci NewsletTux pour t'être intéressé à mon problème.
 
PS : si vous avez une solution précise à ce problème je la veux bien quand même  ;)


Message édité par seyart le 04-08-2009 à 12:11:41

---------------
Seyart Design, Portfolio d'un développeur web, webdesigner et infographiste

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème Formulaire de contact

 

Sujets relatifs
Problème présentation graphique d'une JappletProblème lors de la reception de mail sur lotus note
Problème lien sous un swf transparent[VBA] Problème avec SeriesCollection.Values et Union(Range)
Formulaire HTML:Ne pas ouvrir la page suivante si le champ est vide[HTML/CSS] Affichage version mobile
Fenêtre de confirmation de formulaire à enleverProbleme avec formulaire de contact
Problème formulaire de contactprobleme formulaire de contact "bouton envoyer"
Plus de sujets relatifs à : Problème Formulaire de contact


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR