Bonjour,

mon site est hébergé chez 1&1. Il y a quelques temps, mon site hébergement supportait la version PHP5.2 mais 1&1 a décidé de faire payer plus cher les personnes qui restaient sur cette version. J'ai donc dû passé à la version PHP5.5 et maintenant j'ai un problème avec mon formulaire de contact.

Mon formulaire à plusieurs champs (nom, prenom, adresse, n° de tel, objet, commentaire etc...). Je reçois toutes les informations par email sauf le champs commentaire (le message), qui est vide.

Voici le code de mon formulaire :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<form id="formulaire" name="formulaire" method="post" action="contact_response.php">
    <table cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td width="180"><strong>Nom et Pr&eacute;nom *</strong></td>
            <td align="left"><input style="WIDTH: 300px; HEIGHT: 18px" tabindex="1" type="Text" id="nom" name="nom" /></td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong>Adresse *</strong></td>
            <td width="141" valign="top">
                <textarea style="TEXT-ALIGN: left; WIDTH: 300px; HEIGHT: 50px" tabindex="2" rows=3 cols=21 name="adresse"></textarea>
            </td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong>Code postal &amp; Ville *</strong></td>
            <td valign="top">
                <INPUT style="TEXT-ALIGN: left; WIDTH: 72px; HEIGHT: 18px" size="5" tabindex="3" name="code_postal">&nbsp;<INPUT style="TEXT-ALIGN: left; WIDTH: 219px; HEIGHT: 18px" tabindex="4" size="15" name="ville">
            </td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong>T&eacute;l&eacute;phone</strong></td>
            <td valign="top">
                <input tabindex="5" type="Text" id="tel" name="tel" style="WIDTH: 300px; HEIGHT: 18px"/>
            </td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong>Email *</strong></td>
            <td width="141" valign="top">
                <input  tabindex="6" type="Text" id="email" name="email" style="WIDTH: 300px; HEIGHT: 18px"/>
            </td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong>Objet de votre message *</strong></td>
            <td width="141" valign="top">
                <input  tabindex="7" type="Text" id="objet" name="objet" style="WIDTH: 300px; HEIGHT: 18px"/>
            </td>
        </tr>
        <tr><td height="20" colspan="5"></td></tr>
        <tr>
            <td colspan="3"><strong>Vos commentaires, suggestions ou questions *
                <BR>
                <BR>
                <textarea style="TEXT-ALIGN: left; WIDTH: 478px; HEIGHT: 70px" tabindex="8" rows="4" cols="52" name="message"></textarea>
            </strong></td>
        </tr>
        <tr><td height="8" colspan="5"></td></tr>
        <tr>
            <td><strong><br />
                Code de s&eacute;curit&eacute; :<br />                                                           
            </strong></td>
            <td valign="middle">
                <div style="float:left; width:100px;">
                    <img src="securimage/securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>" style="border:1px solid green" height="35" width="100" />
                </div>
                <div style="float:left; margin-left:10px; padding-top:10px;">
                    <input name="secure_code" tabindex="9" type="text" style="TEXT-ALIGN: left; WIDTH: 190px; HEIGHT: 18px" id="secure_code" value="" />
                </div>
            </td>
        </tr>
        <tr>
            <td height="40"><br /></td>
            <td height="40"><br /><input type="submit" class="button" tabindex="10" name="envoyer" id="envoyer" value="Envoyer" /></td>
        </tr>
        <tr>
            <td height="40" colspan="2">* champs obligatoire</td>
        </tr>
    </table>
</form>
<script language="JavaScript" type="text/javascript">
//pour valider les champs
var frmvalidator = new Validator("formulaire");
frmvalidator.addValidation("nom","req","Veuillez saisir votre nom et prénom");
frmvalidator.addValidation("adresse","req","Veuillez saisir votre adresse");
frmvalidator.addValidation("code_postal","req","Veuillez saisir votre code postal");
frmvalidator.addValidation("code_postal","numeric","Veuillez saisir un code postal valide");
frmvalidator.addValidation("ville","req","Veuillez saisir votre ville");
frmvalidator.addValidation("email","req","Veuillez saisir votre email");
frmvalidator.addValidation("email","email","Veuillez saisir une adresse email valide");
frmvalidator.addValidation("objet","req","Veuillez saisir l'objet de votre message");
frmvalidator.addValidation("message","req","Veuillez saisir votre message");
frmvalidator.addValidation("secure_code","req","Veuillez saisir le code de sécurité");
</script>

Un fois que le visiteur à rempli le formulaire et cliqué sur le bouton submit il est redirigé vers une autre page avec ce code PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
if(isset($_POST["envoyer"])){
    include("securimage/securimage.php");
    $img = new Securimage();
    $valid = $img->check($_POST['secure_code']);
    if($valid == true) {
        //envoi de mail au responsable
        $message='
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Nom & prénom : </b>'.htmlspecialchars($_POST["nom"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Adresse : </b>'.htmlspecialchars($_POST["adresse"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Code postal & ville : </b>'.htmlspecialchars($_POST["code_postal"]).'-'.htmlspecialchars($_POST["ville"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Téléphone : </b>'.htmlspecialchars($_POST["tel"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Email : </b>'.htmlspecialchars($_POST["email"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Objet du message : </b>'.htmlspecialchars($_POST["objet"]).'</div>
            <div style="padding-bottom:3px;" class="light_grey_text"><b>Message : </b><br />'.htmlspecialchars($_POST["message"]).'</div>
        ';
        $headers = "MIME-Version: 1.0\n";
        $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
        $headers .= 'From: '.htmlspecialchars($_POST["email"]).'' . "\r\n" .
        $subject = 'Nouveau message';
        $destinataire = '*******@gmail.com';
        //$message="Test";
        if(mail($destinataire, $subject, $message, $headers) ) {
            echo"<p>Votre email a été envoyé avec succès. Nous vous remercions d'avoir rempli ce formulaire et de la confiance que vous nous accordez. Votre demande est en cours de traitement, nous vous répondrons dans les meilleurs délais.</p>";
        }else {
            echo "<p>Le message n'a pu être envoyé. Nous vous demandons de réessayer plus tard.</p>";
        }
    } else {
        echo "<p>Le code que vous avez saisi est invalide.</a> <a class='dark_grey_text' style='font-size:11px;' href=\"javascript:history.go(-1)\"><b>Essayer &agrave; nouveau.</b></p>";
    }
}
?>
Je connais très peu le code HTML & PHP mais je voudrais que mon formulaire de contact fonctionne bien. Pouvez-vous m'indiquer si vous voyez un problème avec ce code et la version PHP5.5 SVP ?

Merci beaucoup