Problème formulaire site "Page Unique"
Résolu
mimilpower
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
mimilpower Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
mimilpower Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je réalise actuellement un site web, il s'agit d'un site à "page unique".
Mon problème est lié au formulaire de contact, lorsque je teste celui-ci (via mon hébergeur) celui-ci ne m'envoi aucun mail.
Pour faire fonctionner celui-ci, j'ai deux fichiers : mon fichier HTML ainsi qu'un fichier PHP à qui je fait appel pour envoyer le mail, ce dernier fonctionne très bien, je l'utilise sur d'autres sites web.
Je pense que le problème vient de l'URL, je m'explique : l'URL est ainsi "www.mondomaine.com/#!/" sur la page d'accueil, lorsque je vais dans "Contact" où se trouve mon formulaire l'URL est ainsi "www.mondomaine.com/#!/Contact".
Je pense qu'à cause de l'URL il n'accède pas à mon fichier PHP qui est au même niveau sur le serveur.
Voici le code pour le formulaire :
Je réalise actuellement un site web, il s'agit d'un site à "page unique".
Mon problème est lié au formulaire de contact, lorsque je teste celui-ci (via mon hébergeur) celui-ci ne m'envoi aucun mail.
Pour faire fonctionner celui-ci, j'ai deux fichiers : mon fichier HTML ainsi qu'un fichier PHP à qui je fait appel pour envoyer le mail, ce dernier fonctionne très bien, je l'utilise sur d'autres sites web.
Je pense que le problème vient de l'URL, je m'explique : l'URL est ainsi "www.mondomaine.com/#!/" sur la page d'accueil, lorsque je vais dans "Contact" où se trouve mon formulaire l'URL est ainsi "www.mondomaine.com/#!/Contact".
Je pense qu'à cause de l'URL il n'accède pas à mon fichier PHP qui est au même niveau sur le serveur.
Voici le code pour le formulaire :
<form method=POST action=envoi.php id="ContactForm"> <div class="success"> Message envoyé<br> <strong>A bientôt</strong> </div> <fieldset> <div class="wrapper"> <span class="col1">Nom :</span> <label class="name"> <span class="bg"><input type="text" class="input"></span> <span class="error">*Ceci n'est pas un nom valide</span> <span class="empty">*Ce champ est requis</span> </label> </div> <div class="wrapper"> <span class="col1">Email:</span> <label class="email"> <span class="bg"><input type="text" class="input"></span> <span class="error">*L'adresse mail n'est pas valide</span> <span class="empty">*Ce champ est requis</span> </label> </div> <div class="wrapper"> <span class="col1">Téléphone:</span> <label class="phone"> <span class="bg"><input type="text" class="input"></span> <span class="error">*Le numéro de téléphone n'est pas valide</span> <span class="empty">*Ce champ est requis</span> </label> </div> <div class="wrapper"> <span class="col1">Message:</span> <label class="message"> <span class="bg"><textarea rows="1" cols="1"></textarea></span> <span class="error">*Le message est trop court</span> <span class="empty">*Ce champ est requis</span> </label> </div> <div class="btns"> <input class="button" type="reset" value=Annuler> </div> </fieldset> </form>
A voir également:
- Problème formulaire site "Page Unique"
- Whatsapp formulaire opposition - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Supprimer page word - Guide
14 réponses
Hello,
Normalement le # et tout ce qu'il y a après ne devrait pas poser de problème.
une chose que tu peux faire pour t'en assurer c'est de modifier un peut ton form :
1er changement :ajouter les "" au valeur
2ème changement :changer le chemin vers ton fichier.php
Ensuite tu peux mettre /envoi.php au lieu de envoi.php.
comme cela n'importe ou que tu sois dans un dossier etc.. etc.. (il va prendre tondomain.ch/envoie.php)
de cette manière on évite qu'il y aie des problèmes avec les /#!/ même si a priori cela devrait pas se produire
*************
Essaie si cela fonctionne, si cela ne fonctionne pas hésite pas à rupdate ce poste afin qu'on puisse investiguer d'avantage sur ton problème.
**************
je pense que tu as testé mais http://tondomain.ch/envoi.php est bien disponible ? si tu essaie d'y accéder directement ?
A+
Seezer
Normalement le # et tout ce qu'il y a après ne devrait pas poser de problème.
une chose que tu peux faire pour t'en assurer c'est de modifier un peut ton form :
1er changement :ajouter les "" au valeur
<form method="POST" action="envoi.php" id="ContactForm">
2ème changement :changer le chemin vers ton fichier.php
Ensuite tu peux mettre /envoi.php au lieu de envoi.php.
comme cela n'importe ou que tu sois dans un dossier etc.. etc.. (il va prendre tondomain.ch/envoie.php)
de cette manière on évite qu'il y aie des problèmes avec les /#!/ même si a priori cela devrait pas se produire
*************
Essaie si cela fonctionne, si cela ne fonctionne pas hésite pas à rupdate ce poste afin qu'on puisse investiguer d'avantage sur ton problème.
**************
je pense que tu as testé mais http://tondomain.ch/envoi.php est bien disponible ? si tu essaie d'y accéder directement ?
A+
Seezer
Bonjour Seezer,
Tout d'abord merci de ton aide ;)
J'ai essayé avec les guillemets, avec le "/" et les deux combinés, sans changement :(
Et effectivement j'accède bien à "www.domaine.com/envoi.php" ;)
PS : .ch dans ton exemple de domaine, aurait-on un ami suisse ?
Tout d'abord merci de ton aide ;)
J'ai essayé avec les guillemets, avec le "/" et les deux combinés, sans changement :(
Et effectivement j'accède bien à "www.domaine.com/envoi.php" ;)
PS : .ch dans ton exemple de domaine, aurait-on un ami suisse ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Il s'agit d'OVH et j'ai un autre site qui fonctionne sans soucis avec le même fichier PHP, le problème est lié à cette page HTML et ce "#" :(
Il s'agit d'OVH et j'ai un autre site qui fonctionne sans soucis avec le même fichier PHP, le problème est lié à cette page HTML et ce "#" :(
En fait c'est le "action" de ton form qui va donner le chemin de ton fichier php.
L'url de retour est celle qui vient de ton fichier php. regarde dans ton fichier le header("location: .... ou ce qui fait la redirection. Moi ce qui m'étonne c'est se #! le ! qui est bizare et modifie en
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
L'url de retour est celle qui vient de ton fichier php. regarde dans ton fichier le header("location: .... ou ce qui fait la redirection. Moi ce qui m'étonne c'est se #! le ! qui est bizare et modifie en
header("Location: monsite.com/index.php#contact");
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Voila mon code PHP :
Mon fichier PHP est correct pour moi je l'ai déjà testé sur d'autres sites, comme tu dis c'est ce fameux "#!" qui semble posé problème, il me permet d'aller chercher mes rubriques dans ma page HTML ...
PS : j'ai volontairement changé l'adresse email et l'adresse du site dans le code PHP ;)
<?php $adresse = "mail@gmail.com"; $site = "www.mondomaine.com"; $TO = $adresse; $head = "From: ".$adresse."\n"; $head .= "X-Sender: <".$adresse.">\n"; $head .= "X-Mailer: PHP\n"; $head .= "Return-Path: <".$adresse.">\n"; $head .= "Content-Type: text/plain; charset=iso-8859-1\n"; $sujet = "Formulaire de contact"; $informations = " Nom: ".$_POST['realname']." \r\n Email du formulaire: ".$_POST['email']." \r\n Sujet du formulaire: ".$_POST['title']."\r\n Message: ".$_POST['comments']." \r\n "; $res = mail($TO, $sujet ,$informations, $head); if (true == $res) { Header("Location: http://".$site."/emailok.html" ); } else { Header("Location: http://".$site."/emailerreur.html" ); } ?>
Mon fichier PHP est correct pour moi je l'ai déjà testé sur d'autres sites, comme tu dis c'est ce fameux "#!" qui semble posé problème, il me permet d'aller chercher mes rubriques dans ma page HTML ...
PS : j'ai volontairement changé l'adresse email et l'adresse du site dans le code PHP ;)
salut, je comprends pas en effet. Un coup j'avais des caractères comme cela qui apparaissait, en fait c'était des espace invisible. Cela se produit dé-fois lors de copier coller. Il faudrait réécrire les lignes de redirection je pense.
Ensuite si ton site est en page unique je comprends en fait il y a deux autres pages pour dire que le mail a été envoyé ou c'est un oublie de ta part
Ensuite si ton site est en page unique je comprends en fait il y a deux autres pages pour dire que le mail a été envoyé ou c'est un oublie de ta part
En effet j'ai créé deux autres pages, une si le mail est bien envoyé et l'autre si il y a une erreur ;)
Je vais tenter de réécrire les redirections (d'ici 45 minutes) et je poste le résultat :)
Merci pour ton aide ;)
Je vais tenter de réécrire les redirections (d'ici 45 minutes) et je poste le résultat :)
Merci pour ton aide ;)
oui ok je vais devoir partir bientot mais je suis le sujet :)
j'ai retrouvé le lien de mes espace invisible en bas de page
https://www.developpez.net/forums/d1298727/autres-langages/xml-xsl-soap/valider/validation-dtd-xsd/
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
j'ai retrouvé le lien de mes espace invisible en bas de page
https://www.developpez.net/forums/d1298727/autres-langages/xml-xsl-soap/valider/validation-dtd-xsd/
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
On va faire étape par étape
dans un premier temps, met des "" pour les valeurs dans ta balise <form>
Ensuite on va vérifier cela :
Première question
Peux-tu accéder à ta page index.html (je pense qu'on peut déjà répondre oui)
Deuxième question
via le formulaire, quand tu appuyes sur le bouton submit, accède tu à ta page contact.php ?
pour tester tu peux ajouter ce code tout en haut de ton script contact.php.
une fois que tu as vérifié cela, on est sûr que tout fonctionne au niveau fichier/url.
Je te laisse vérifier les deux choses ci-dessus et nous donner des nouvelles, ensuite on pourra chercher d'avantage.
A+
Seezer
dans un premier temps, met des "" pour les valeurs dans ta balise <form>
<form method="POST" action="envoi.php" id="ContactForm">
Ensuite on va vérifier cela :
Première question
Peux-tu accéder à ta page index.html (je pense qu'on peut déjà répondre oui)
Deuxième question
via le formulaire, quand tu appuyes sur le bouton submit, accède tu à ta page contact.php ?
pour tester tu peux ajouter ce code tout en haut de ton script contact.php.
echo 'Test'; // Affiche les valeurs dans ta variable $_POST echo '<pre>'; print_r($_POST); echo '<pre>'; // Arrête le script exit();
une fois que tu as vérifié cela, on est sûr que tout fonctionne au niveau fichier/url.
Je te laisse vérifier les deux choses ci-dessus et nous donner des nouvelles, ensuite on pourra chercher d'avantage.
A+
Seezer
Non non rien ne se passe ... Le fichier est bien présent et accessible via www.mondomaine.com/envoi.php
J'ai retiré les "#!" dans l'URL je n'ai plus que le "#", par contre ça ne change pas le problème ...
J'ai retiré les "#!" dans l'URL je n'ai plus que le "#", par contre ça ne change pas le problème ...
ok ok, donc effectivement aucun problème sur contact.php. (au moins j'en suis sûr maintenant ;) )
pourrais-tu désactiver le javascript de ton navigateur et refaire la manoeuvre ?
car la il y a deux possibilité :
- un script javascript qui t'annule la validation du formulaire (ou la redirection vers contact.php)
ou un problème avec ton code html.
donne nous des news
A+
Seezer
pourrais-tu désactiver le javascript de ton navigateur et refaire la manoeuvre ?
car la il y a deux possibilité :
- un script javascript qui t'annule la validation du formulaire (ou la redirection vers contact.php)
ou un problème avec ton code html.
donne nous des news
A+
Seezer
Alors quand je désactives le Javascript je ne peux pas afficher la page correctement, lorsque le chargement s'effectue il utilise le Javascript ...
J'ai donc rajouter l'URL exact "www.mondomaine.com/#Contact" et la la redirection vers mon fichier emailok.html (donc le mail part bien) se fait, je reçois donc bien le mail mais sans les informations rentrés par l'utilisateur (nom, prénom, ...) donc un mail vierge ...
En tout cas il semblerait donc que le problème vient du Javascript ;)
J'ai donc rajouter l'URL exact "www.mondomaine.com/#Contact" et la la redirection vers mon fichier emailok.html (donc le mail part bien) se fait, je reçois donc bien le mail mais sans les informations rentrés par l'utilisateur (nom, prénom, ...) donc un mail vierge ...
En tout cas il semblerait donc que le problème vient du Javascript ;)