Voila j'ai créer un site depuis peu (mon premier). Mon pricipal problème, c'est que j'ai un script php pour enoyé un formulaire par mail qui ne fonctionne pas. Pourtant j'ai lu de nombreux tuto et forum mais la je bloque
Je suis héberger par 1&1, j'utilise IE7 et le mail utilisé sur hotmail si ça pe vous aider.
à mon avis l'hébergeur 1&1 n'a pas actionné la fonction "POST" pour les formulaires. Peutêtre devrais tu vérifier ou leur envoyer un mail, mais je pense que l'erreur 405 vient de la méthode utilisée par le formulaire.
Merci killian je vais essayé de me renseigner, mais j'espere que c'est pas ca car c'est quand même payant ( donc je m'attendais à un minimum de qualité ).
Sinon pour la variable y faut que je la mette au début du script? Et bien sur j'en fait une pour chaque partie de mon formulaire, donc 5 variables. Si vous pouviez juste m'expliquer en quelques mots le rôle de ces variables.
Re:Formulaire php - Erreur 405
« Répondre #4 sur: le 10-03-2007 a 18:55:32 »
iowa
Invité
Citation:
Merci killian je vais essayé de me renseigner, mais j'espere que c'est pas ca car c'est quand même payant ( donc je m'attendais à un minimum de qualité ).
Tu peux te renseigner mais je suis sûr à 99.9% que c'est pas ça. Un hébergeur payant qui interdit le mode POST !
Citation:
Sinon pour la variable y faut que je la mette au début du script?
Au tout début, du moins avant l'initialisation de la variable $msg
Citation:
Et bien sur j'en fait une pour chaque partie de mon formulaire, donc 5 variables.
tu comprends vite ! C'est exactement ça. Sous cette forme :
Code:
$nomVariableQueTuVeux = $_POST['nom du champs de formulaire'];
Citation:
Si vous pouviez juste m'expliquer en quelques mots le rôle de ces variables.
Enfete la méthode utilisé dans ton script correspond à un environnement ou le register_global est sur on dans la configuration de PHP ! Or le register global est très souvent sur off et dans la config de base de PHP sur off parce que ça peut provoquer des erreurs... ( plus d'infos )
Il faut toujours prendre la peine d'initialiser les variables venant d'un formulaire pour bien savoir d'ou elles viennent.
$recipient = "mon mail"; $subject = "inscription poste de secours";
$mailheaders = "From: inscription a un poste <> \n"; $mailheaders .= "Reply-To: $mail\n\n";
mail($recipient, $subject, $msg, $mailheaders);
echo "<HTML><HEAD>"; echo "<TITLE>Formulaire envoyé</TITLE></HEAD><BODY>"; echo "<H1 align=center>Merci, $prenom </H1>"; echo "<P align=center>"; echo "Votre formulaire à bien été envoyé !. Nous vous contacterons en cas de changements</P>"; echo "</BODY></HTML>";
?>
Ca marche toujours pas alors j'ai mis le fichier en php3 puisque mon hébergeur dit qu'il prend le php3 4 et 5. Ca marche toujours pas ERREUR 405 pour changer! Je suis désesperé
Pouvez vous me dire si le code est bon? quelqu'un pourrez le tester SVP
Déjà commence par corriger quelques bricoles dans ton code html, a savoir le nom du champ "nom". Dans le html tu met Nom et dans le php tu met nom. Or c'est sensible à la casse ! Donc tu met nom dans le html (en minuscule).
Ensuite, dans le php tu fais appel a un champ mail, mais ce champ n'existe pas dans le code html !!!
Corrige ces 2 erreurs et reviens me dire si ca fonctionne. EN tout cas après correction ça fonctionne chez moi ! Bonne soirée, Florent
Et oui aparament je paye mais je n'ai pas le php a moins que je me trompe
"Veuillez remarquer que php n'est pas disponible pour les serveurs Windows."
En gros je viens de passer 2 jours à me prendre la tête pour rien (mis a part que j'ai quand même appris pas mal de chose), et je ne pourrais jamais faire un site avec des formulaires qui s'envoi en mode POST
Bon, et bien j'attend éventuellement une solution, une confirmation, je ne sais pas...
Encor MERCI à tous (conclusion: il faut toujours lire ce que fait son hébergeur avant de se précipiter!)
Je suis également chez 1and1 mais sur un hébergement linux.
Je te confirme bien que php n'est pas disponible pour les solutions windows. Tu peux peut-être te tourner sur une solution suporté par les serveurs windows (asp ou autre), ou alors passer à un serveur linux.
Contact leur support technique pour voir si tu ne peux pas faire le changement.