Problème formulaire site "Page Unique"

Résolu/Fermé
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013 - Modifié par mimilpower le 28/11/2013 à 03:21
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013 - 29 nov. 2013 à 16:31
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 :


<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:

14 réponses

Utilisateur anonyme
28 nov. 2013 à 09:30
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
<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
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
28 nov. 2013 à 11:33
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 ?
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 12:06
Up plz ;)
0
Utilisateur anonyme
29 nov. 2013 à 12:18
salut, quel est ton hébergement ? Les gratuit ne font pas tous la fonction mail()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 12:19
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 "#" :(
0
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
header("Location: monsite.com/index.php#contact");



׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 12:54
Voila mon 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 ;)
0
Utilisateur anonyme
29 nov. 2013 à 13:14
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

0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 13:16
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 ;)
0
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|[׺°"~'"°º×
0
Utilisateur anonyme
29 nov. 2013 à 13:36
mais pense comme ta dit seezer à mettre les quotes

<form method="POST" action="envoi.php" id="ContactForm">
0
Utilisateur anonyme
29 nov. 2013 à 14:41
On va faire étape par étape

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
0
Utilisateur anonyme
29 nov. 2013 à 14:43
Si tu a ajouter le script ci-dessus, quand tu appuieras sur le bouton envoyer : il devra t'afficher une page blanche avec :

au moins le mot : Test
et peut-être une liste avec les champs et valeurs de ton formulaire.

A+
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 14:45
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 ...
0
Utilisateur anonyme
29 nov. 2013 à 15:08
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
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 15:26
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 ;)
0
Utilisateur anonyme
29 nov. 2013 à 15:51
tu as sûrement un événement qui bloque la validation de ton formulaire.

Après, il faut que tu regarde de ton côté qu'est ce qui pourrait bloquer

A+

Seezer
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 29/11/2013 à 16:27
Salut,

Il faut regarder si tu as une erreur dans la console web (sur Firefox, menu Outils -> Développeur web -> Console web). Si tu as une erreur javascript, celle-ci bloque tous les autres traitements.

Bonne journée
0
mimilpower Messages postés 9 Date d'inscription jeudi 28 novembre 2013 Statut Membre Dernière intervention 29 novembre 2013
29 nov. 2013 à 16:31
Problème résolu,

J'avais un appel à un fichier Javascript, en l'enlevant il voit comme par magie mon fichier PHP :)

Merci à tous pour votre aide, particulièrement seezer ;)
0