Appel fichier PHP depuis page HTML
Bonjour à tous,
Et avant tout, un grand merci pour l'existence de ce fofo, qui m'a déjà permis de bien progresser dans le développement de mon site web.
Je travaille avec Kompozer, et sous mozilla firefox, (et aussi le bloc-note pour le php :roll:)
Voici mon soucis :
J'ai une page HTML, faisant afficher un formulaire de saisie pour envoyer ensuite un mail automatiquement, quand on appuie sur le bouton ENVOYER.
Voici le code de la page HTML :
Code:
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 87 88 89 90 91 92 93
| <html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<title>Mon formulaire.</title>
<script type="text/javascript" language="Javascript">
<!--
function verification_contact()
{alert("Passage dans Verification_contact");
if(document.formulaire.nom.value == "") {
alert("Veuillez entrer votre Nom, svp");
document.formulaire.nom.focus();
return false;}
if(document.formulaire.email.value == "") {
alert("Veuillez entrer votre adresse electronique, svp");
document.formulaire.email.focus();
return false;
}
if(document.formulaire.email.value.indexOf('@') == -1) {
alert("Le format de l'adresse electronique n'est pas valide, verifiez la svp");
document.formulaire.email.focus();
return false;
}
if(document.formulaire.texte.value == "") {
alert("Veuillez entrer le texte de votre message, svp");
document.formulaire.texte.focus();
return false;
}
}
//-->
</script>
</head>
<body>
<form name="formulaire" method="POST"
action="traitement_contact.php"
onsubmit="return verification_contact()">
<table>
<tbody>
<tr>
<td></td>
<th>Formulaire de contact</th>
</tr>
<tr>
<td></td>
<td>Votre nom : </td>
<td></td>
<td><input name="nom" size="50"
type="text"></td>
</tr>
<tr>
<td></td>
<td>Votre prénom : </td>
<td></td>
<td><input name="prenom" size="50"
type="text"></td>
</tr>
<tr>
<td></td>
<td>Votre email</td>
<td></td>
<td><input name="email" size="50"
type="text"></td>
</tr>
<tr>
<td></td>
<td>Téléphone : </td>
<td></td>
<td><input name="telephone" size="50"
type="text"></td>
</tr>
<tr>
<td></td>
<td>Votre message</td>
<td></td>
<td><textarea name="texte" cols="50"
rows="20"></textarea></td>
</tr>
<tr>
<td></td>
<td><input name="annuler" value="Annuler"
type="reset"></td>
<td></td>
<td><input name="soumettre" value="Envoyer"
type="submit"></td>
</tr>
</tbody>
</table>
</form>
GIF - 8.6 ko
</body>
</html> |
Ensuite, quand on appuie sur le bouton ENVOYER, normalement... ça déclenche le fichier PHP (traitement_contact.php), qui est palcé dans le même repertoire que le fichier HTML, et que voici :
Code:
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
$adresse="monmail.amoi@aol.fr";
$prenom=htmlentities($_POST['prenom']);
$nom=htmlentities($_POST['nom']);
$email=htmlentities($_POST['email']);
$sujet="Site arborescence";
$from=htmlentities("From $_prenom $nom<$email>\r\n");
$from.=htmlentities("Reply-To: ".$prenom." ".$nom."<".$email.">"."\n");
$from.=htmlentities("X-priority:3\n");
$texte=htmlentities("<html>");
$texte.=htmlentities($_POST['texte']);
$texte.=htmlentities("</html>");
$from.=htmlentities("MIME-Version: 1.0\r\n");
$from.=htmlentities("Content-Type: text/html");
if (mail($adresse, $sujet, $texte, $from))
echo("<center><font color=green><br><br><br>
<h2>Formulaire envoyé ! Je vous répondrai rapidement. Merci !</h2>
</font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br>
<h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2>
</font><br>Contactez nous plus <a href="mailto:$adresse">classiquement</a>");
exit;
?> |
Le soucis est que, lorsque j'exécute la page, que je remplis le formulaire et que je valide, je me retrouve bien sur une nouvelle page web, mais le code apparait ! Comme cela :
\r\n"); $from.=htmlentities("Reply-To: ".$prenom." ".$nom."<".$email.">"."\n"); $from.=htmlentities("X-priority:3\n"); $texte=htmlentities(""); $texte.=htmlentities($_POST['texte']); $texte.=htmlentities(""); $from.=htmlentities("MIME-Version: 1.0\r\n"); $from.=htmlentities("Content-Type: text/html"); if (mail($adresse, $sujet, $texte, $from)) echo("
Formulaire envoyé ! Je vous répondrai rapidement. Merci !
Cliquez ici pour revenir à l'accueil"); else echo("
Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande
Contactez nous plus classiquement"); exit; ?>
Pfff.. je désespère.
J'ai d'ailleurs essayer de faire beaucoup plus simple, dans le fichier PHP :
Mettre uniquement un : Echo "bonjour tout le monde !";
Même ça, ça ne marche pas. Je me retrouve avec une page blanche.
Ai-je oublié une déclaration du fichier PHP ?
Est-ce que Mozilla fonctionne sans astuce spéciale avec le PHP ?....
Merci d'avance pour toutes vos interventions,
Luc