8795 sujets

Développement web côté serveur, CMS

Bonjour,
j'ai réalisé un site où se trouve deux formes de formulaire de contact, ceux-ci attribué à la boite wanadoo du prestataire mette malheureusement beaucoup à lui parvenir, voir meme pour ne jamais arriver.

J'imagine que mon code n'est pas en place.
Quelques pourrait-il le consulter sur les pages suivantes et m'en donner son avis?

www.lesdeuxlogis.com
cf >> lien superieur droit

http://www.lesdeuxlogis.com/reservation.htm
cf >> formulaire fixe en tableau.

c'est deux formulaire utilise le meme envoi php:


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


/////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 [langue]HP";  

$subject="$nom,$telephone,$objet"; 
$destinataire="fabienne.perez@wanadoo.fr"; 
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) { 
echo "<div style=\"position:absolute; z-index:29; width:300px; height:150px; left:1060px; top:150px; color:#ffffff; font-family:Verdana,Arial,Helvetica,sans-serif\">Votre mail a été envoyé</div>";
} else { 
echo "<div style=\"position:absolute; z-index:29; width:300px; height:150px; left:1060px; top:150px; color:#ffffff; font-family:Verdana,Arial,Helvetica,sans-serif\">Une erreur s'est produite/div>";
} 
?></p>


merci d'avance
Gorgo
Il est peut-être plus pratique que je poste les baliise html et vous mettre les liens de pages:

>> formulaire déroulant jquery :

<div class="box">
    <div id="contactFormContainer" style="z-index:52">
        <div id="contactForm">
		<form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
            <fieldset>
                <label for="Name">Name *</label>
                <input id="name" type="text" name="nom"/>
                <label for="Email">Email Adress *</label>
                <input id="Email" type="text" name="mail"/>
				<label for="tel">telephone number </label>
               <input id="tel" type="text" name="telephone"/>
				<label for="objet">Subject *</label>
				<input id="objet" type="text" name="objet"/>
                <label for="Message">Your message *</label>
                <textarea id="Message" name="message" rows="3" cols="20"></textarea>
                <p style="color:#4D4E4F;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;text-align:justify;margin-bottom:12px;">Thank you for giving information to fields pointed out of one asterisk</p>
                <input id="sendMail" type="submit" name="submit" onclick="closeForm()" />
                <span id="messageSent">Your message has been correctly sent !</span>
            </fieldset>
        </div>
        <div id="contactLink"></div>
		</form>


Il y a une erreur de div mas lorsque je la corrige le formulaire disparait...
Je ne suis pas sur que l'erreur se génère d'ici!

>> formulaire fixe
Meme soucis en delais ce qui me fat croire que l'erreur provient du Php


  <div id="formule"> 
    <table width="500" border="0" align="center" cellpadding="0" cellspacing="0" top:"300">
      <form action="envoi.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire">
        <tr> 
          <td colspan="3"><span style="font-size:11px;color:#666666;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif"> 
            Votre nom :</span></td>
        </tr>
        <tr> 
          <td colspan="2"><input id="name" type="text" name="nom" size="45" maxlength="100"></td>
        </tr>
        <tr> 
          <td colspan="3"><span style="font-size:11px;color:#666666; font-family:'Trebuchet MS', Arial, Helvetica, sans-serif">Votre 
            mail :</span></td>
        </tr>
        <tr> 
          <td colspan="2"><input id="Email" type="text" name="mail" size="45" maxlength="100"></td>
        </tr>
        <tr> 
          <td colspan="3"><span style="font-size:11px;color:#666666;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif">Téléphone 
            :</span></td>
        </tr>
        <tr> 
          <td colspan="2"><input id="tel" type="text" name="telephone" size="45" maxlength="100"></td>
        </tr>
        <tr> 
          <td colspan="3"><span style="font-size:11px;color:#666666;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif">Sujet 
            :</span></td>
        </tr>
        <tr> 
          <td colspan="2"><input id="objet" type="text" name="objet" size="45" maxlength="120"></td>
        </tr>
        <tr></tr>
        <tr> 
          <td colspan="3"><span style="font-size:11px;color:#666666;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif">Message 
            :</span></td>
        </tr>
        <tr> 
          <td colspan="2"><textarea id="Message" name="message" cols="50" rows="10"></textarea></td>
        </tr>
        <tr> 
          <td></td>
          <td colspan="2" >
              <input id="sendMail2" type="submit" name="Submit" value="Envoyer">
            </td>
        </tr>
      </form>
    </table>
  </div>
Salut,

En mettant une autre adresse mail en destinataire, les mails arrivent avec autant de mal ?
As-tu la possibilité de tester ce script sur un autre serveur ? Peut être est-ce dû à la configuration que ton hébergeur en a fait...
J'ai fait plusieurs test avant de valider ce formulaire.
Il ne me semblait pas avoir de soucis à l'initial avec ma boite Yahoo!
Il peut arriver néanmoins qu'il y est un délais de réception.
J'ai donc pensé que ceci pouvait provenir de la configuration de la boite wanadoo.

Malheureusement, je ne vois du tout comment ceci pourrait ou peut se paramétrer de toutes manières qu'il soit.

Pour l'hébergement je suis chez OVH // abonnement 20 G.P. prenant donc en charge des codes tel que le Php
Le prestataire du site à fait divers essai cette nuit et n'a encore rien reçu!

Un problème assez sérieux puisque ce site est sa seule plateforme de communication!!!
Si le message a du mal à arriver même sur une autre boite mail, c'est peut être un problème au niveau de l'hébergeur...
Si tu as la possibilité de tester ton script sur un autre serveur pour voir si le mail met aussi beaucoup de temps...
Sur l'hébergeur que j'utilise avec une adresse gmail, l'envoi et la réception sont instantanés...
J'ai contacter le support technique d'OVH.
et le problème ne vient pas de ma formule d'hébergement.

Peut-être mon code PHP est-il rudimentaire?
Voilà ce que j'ai fait pour envoyer un mail :

     $headers ='From: "'.$nom.' '.$prenom.'"<'.$email.'>'."\n";
     $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';

     if(mail('email de la personne', 'Email de '.$nom.' '.$prenom.'', $message, $headers))
     {
          $envoye="Merci $nom $prenom d'avoir envoyé un message, je vous répondrais dans les plus brefs délais.";
     }
     else
     {
         $envoye="Erreur, le message n'a pas pu être envoyé."; 
     }
	


J'ai vu quelque chose pour ton formulaire qui comporte une faille de sécurité assez importante.
En effet tu ne testes pas les champs pour voir s'il n'y a pas de caractères non autorisés comme des ' ou des ", en effet si quelqu'un met un ' ou " dans l'un des champs celà va terminer la chaine de caractères et par exemple la personne va pouvoir ajouter des gens en CC donc spammer les gens avec ton serveur. Donc je te conseille vivement de tester chacun des champs (je l'ai fait avant ces instructions Smiley cligne ), et surtout le mail avec des commandes du type :

if (!eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email)){
		$erreur_email="Veuillez entrer un email valide";
	}

Qui te permet de tester une chaine de caractère et voir si elle est conforme, maintenant à toi de voir comme s'utilise ces commandes "'expressions régulières".
Salut!

Merci pour ces précieuses infos'
Je me suis renseignée sur les commandes d'"expressions régulières"
Voila une remarque qu me sera bien utile et qui me permettra d'affiner mon codage!

Merci bien
Petit up au passage.

- HTTP_POST_VARS (et GET aussi) est obsolète depuis PHP 4.1.0. Il faut passer à $_POST[] et $_GET[].
- Ce n'est pas plutôt à partir de "start" qu'OVH propose le PHP ?
- Petit conseil aussi : à l'heure ou j'écris on a accès à l'index du site, c'est pas génial, même en période de dev. Tu peux ajouter "Options -Indexes" dans un ".htaccess".
Modifié par kurt11 (20 Jul 2009 - 09:50)