18041 sujets
Questions générales et questions de débutants
bill83 a écrit :
Heu là tu me parles en chinois. Ce n'est pas moi qui ai écrit ce script, déjà qu'en php je débute alors Ajax ... Je n'y comprends rien
Dommage, du coup le reste ça va être très compliqué alors
Pour résumé, ton formulaire à un input submit à l'intérieur et le submit permet d'envoyer les données au fichier PHP nomma dans "action" du form.
Mais d'un autre coté tu as de l'ajax (qui signifie en gros, que tu souhaite faire la même chose qu'un formulaire, mais sans recharger la page).
Du coup tu as bien deux envoie de form à ton traitement PHP, un par l'ajax et l'autre par le submit. cela n'a rien à voir avec ton problème principal, mais il faut choisir sinon il peut y avoir des conflits et des mauvaises compréhension.
Ensuite, si dans ton fichier qui est appellé dans le formulaire tu as
<?php
session_start();
echo '<pre>'; print_r($_POST); echo '</pre>';
exit('Jusqu\'ici tout va bien !!!');
Tu ne devrais voir rien d'autre, ou alors y'a un problème de cache / ou autre.
Le but de voir ce message est de s'assurer que tu cible bien le bon fichier, pour être sur que les traitement que tu souhaites vont être appelé une fois que tu auras enlever ces quelques lignes d'écho.
Alors résultat du test( suppression du script) : Après l'envoi du formulaire les données contenues dans le formulaire s'affichent à l'écran comme ceci :
Array
(
=> Bill
=> Test
=> bla-bla@gmail.com
=> 06000000
=> des bleuets
=>
=> 83560
=> Rians
=> 83
=> FRANCE
=> TEST
)
suivies de la phrase Jusqu'ici tout va bien !!!
Modifié par bill83 (13 Feb 2020 - 18:23)
Array
(
=> Bill
=> Test
=> bla-bla@gmail.com
=> 06000000
=> des bleuets
=>
=> 83560
=> Rians
=> 83
=> FRANCE
=> TEST
)
suivies de la phrase Jusqu'ici tout va bien !!!
Modifié par bill83 (13 Feb 2020 - 18:23)
Donc maintenant on sait que le fichier de traitement est bien chargé. Il ne vous reste plus qu'à tester en supprimant les 2 lignes de debug (echo et exit) puis à ajouter une redirection à la fin de l'exécution avec pourquoi pas un retour à l'utilisateur pour l'informer de l'envoi effectif de son courriel.
Greg_Lumiere a écrit :
Donc maintenant on sait que le fichier de traitement est bien chargé. Il ne vous reste plus qu'à tester en supprimant les 2 lignes de debug (echo et exit) puis à ajouter une redirection à la fin de l'exécution avec pourquoi pas un retour à l'utilisateur pour l'informer de l'envoi effectif de son courriel.
Merci, je teste ça cet après-midi et je vous fait un retour.
Jean-Pierre-Bruneau a écrit :
au cas ou tout simplement c'est vraiment ton code, le header est déjas envoyé au visiteur et session_start(); ne peux marcher,
En PHP tout doit être strictement collé en haut à gauche sans aucun espace invisible en bout de ligne ni retour à la ligne.
Navré mais je ne suis pas tout à fait d'accord avec vous car peu importe le nombre de ligne vierge située entre le tag d'ouverture du langage php et la première instruction car le moteur Zend s'occupe de concaténer les instructions.
En réalité ce bout de code est lu tel que
session_start();instruction2;instruction3;
Les sauts de lignes et espaces sont supprimés systématiquement.Là où ça envoie les en-tête c'est lorsque l'on commence le fichier par un saut de ligne, juste avant le tag d'ouverture. Ainsi ceci est à proscrire:
<?php
...
Modifié par Greg_Lumiere (25 Feb 2020 - 15:36)
Désolé j'avais oublié de répondre depuis l'autre jour. Cela ne fonctionne pas avec les modifications faites, j'ai toujours la phrase message envoyé qui s'affiche et toujours aucun mail.
Je vais essayer de voir si avec les conseils de Jean-Pierre-Bruneau j'ai un résultat.
Modifié par bill83 (25 Feb 2020 - 15:49)
Je vais essayer de voir si avec les conseils de Jean-Pierre-Bruneau j'ai un résultat.
Modifié par bill83 (25 Feb 2020 - 15:49)