juste avant t'a ligne
ajouteCode:if ($_POST['method']=='addMsg'){
qu'a-tu comme resultat ?Code:
1
2 var_dump($_POST); exit;
Version imprimable
juste avant t'a ligne
ajouteCode:if ($_POST['method']=='addMsg'){
qu'a-tu comme resultat ?Code:
1
2 var_dump($_POST); exit;
array (size=7) 'firstname' => string 'test' (length=4) 'lastname' => string 'test' (length=4) 'email' => string 'test@test.fr' (length=12) 'website' => string '' (length=0) 'phoneNumber' => string '' (length=0) 'captcha' => string '65' (length=2) 'message' => string 'test' (length=4)
donc il te manque bien "method"
si tu deplace le code avant le require
a-tu "method" ?Code:
1
2
3
4
5
6
7 var_dump($_POST); exit; require 'class/messages.class.php'; if ($_POST['method']=='addMsg') { $messages = new Messages(); $add = $messages->addMessage($_POST); }
si oui le problème vient de ta class message
si non c'est que le post n'envois pas la donnée "method"
essaye avec un autre nom "ma_methode" par exemple
tu est sur que l'appel ce fait bien par l'ajax que tu renseigne ici car il y a "captcha" alors que dans l'ajax cette donné n'est pas renseignée.
Code:
1
2
3
4
5
6
7
8 array (size=7) 'firstname' => string 'test' (length=4) 'lastname' => string 'test' (length=4) 'email' => string 'test@test.fr' (length=12) 'website' => string '' (length=0) 'phoneNumber' => string '' (length=0) 'captcha' => string '65' (length=2) 'message' => string 'test' (length=4)
Non effectivement j'ai toujours la même chose, le post n'envoie pas la method.
Il se voit dans la console, mais pas dans l'envoie.
Pour le captcha, j'ai souhaité ne pas le traiter, car c'est juste une validation de formulaire qui permet de cliquer ou non sur le bouton d'envoi, via un plugin jquery.
D'où le fait que j'ai crée un script en prenant pour variable que ce dont j'avais besoin et de les envoyer dans ma requête Ajax. Je n'ai pas trouvé cela bloquant lors de la création de mon script.
vérifie également si l'input avec id="submit" est de type "submit","bouton" ou autre
Code:<button type="submit" class="btn btn-primary" value="submit" id="submit">Envoyer mon message</button>
remplace submit par button , je crois que cela fonctionnera mieux.
Code:<button type="button" class="btn btn-primary" value="submit" id="submit">Envoyer mon message</button>
Dans la console firefox, ça ne met plus la ligne en rouge, mais en noir comme si cela fonctionnait bien:
POST http://localhost/Siteperso/process.php 200 OK 4ms
contenu du post dans la console
cependant l'action ne marche plus car je ne tombe sur aucune autre page, et cela ne s'inscrit pas dans la base de données.email test@test.fr firstname test lastname test message test method addMsg phone website
D'ailleurs pour le coup, mettre en type button, me bloque même sur les autres navigateurs.
Je crois que tu mélange 2 manières de faire pour transmettre les informations:
soit tu utilise
sans AJAXCode:
1
2
3
4
5 <form...method="POST" action="pageXX.php"> <input type="text" name="nominput" id="idinput" valeur="valeurinput"> ... <input type="submit"...> </form>
dans cette option seront "postée" nominput=valeurinput, si pas de name="..." dans input pas de valeur envoyée.
et le navigateur va a la page pageXX.php
soit tu utilise ajax avec <input type="button"...> les valeur postées seront celles contenu dans
data :
dans cette option seront "postée" unautrenom=valeurinputCode:
1
2
3
4
5
6
7
8
9
10
11 ... var varjsinput = $("#idinput").val() ... $.ajax({ url: 'process.php', type: 'POST', data: { unautrenom: varjsinput ... }, ...
mais tu reste sur la même page, le but d'AJAX étant (en autre) d’exécuter des pages en restant sur la même page (sans la recharger)
A-tu-supprimé le code avec?Code:
1
2 var_dump($_POST); exit;
Oui j'ai supprimé le code dans le process.
Et ça marche niquel du coup avec le type=button, j'avais juste laissé une tite coquille. ! testé sous FireFox, Chrome, IE, Opéra!
Je te remercie vraiment pour ton aide, comme quoi au final, c'était juste un problème de type et d'incompréhension de transimision de données... Merci également pour cette précision sur ton post d'avant. Je tâcherais du coup de ne plus confondre les deux.
Plus qu'à faire en sorte que les champs s’efface ou que je change de page. Et je pourrais me recoller les cheveux que j'ai perdu ces derniers jours.
Merci vraiment !
De rien , n'oublie pas de mettre le sujet en "résolu"