[RESOLU] passage de paramètre Ajax à PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] passage de paramètre Ajax à PHP

Re: passage de paramètre Ajax à PHP

par sirflan » 07 déc. 2021, 22:08

Merci beaucoup.
C'est effectivement un problème de syntaxe.
Il fallait juste mettre : $.ajax({
method: 'POST',
url: "insert_balance.php",
data: {annee: annee,nom: nom,balance_id: balance_id}
Merci encore.
Bonne soirée.

Re: passage de paramètre Ajax à PHP

par or 1 » 07 déc. 2021, 21:27

data: ({annee: annee}, {nom: nom}, {balance_id: balance_id}),
la syntaxe est différente sur le premier exemple de https://api.jquery.com/jquery.ajax/

Re: passage de paramètre Ajax à PHP

par sirflan » 07 déc. 2021, 21:11

désespérément, je faisais des tests, j'ai oublié de supprimer ces deux lignes.
J'ai rectifié et le contenu de mon var_dump($POST) a évolué. il manque les parametres "annee" et "nom"
var_dump($POST) = array(1) {
["balance_id"]=>
string(1) "2"
}

j'ai les messages suivants pour les deux variables :

<b>Warning</b>: Undefined array key "nom" in <b>C:\xampp\htdocs\PROJET-BALANCE\insert_balance.php</b> on line <b>7</b><br />
<br />
<b>Warning</b>: Undefined array key "annee" in <b>C:\xampp\htdocs\PROJET-BALANCE\insert_balance.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: Undefined array key "annee" in <b>C:\xampp\htdocs\PROJET-BALANCE\insert_balance.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>: Undefined array key "nom" in <b>C:\xampp\htdocs\PROJET-BALANCE\insert_balance.php</b> on line <b>20</b><br />


Merci de votre aide.

Re: passage de paramètre Ajax à PHP

par or 1 » 07 déc. 2021, 20:49

contentType: false,
processData: false,

pourquoi avoir fait ces choix ?

Re: passage de paramètre Ajax à PHP

par sirflan » 07 déc. 2021, 20:25

var_dump($_POST) est vide : array(0) { } !!!
Pourtant, si je fais un alert(annee) , alert(nom) et alert(balance_id) dans code ajax, les données sont OK.
C'est clair que je passe mal les données mais je ne vois pas ou je me trompe.

Re: passage de paramètre Ajax à PHP

par @rthur » 07 déc. 2021, 18:18

Regarde dans la console de ton navigateur (Ctrl+Maj+i), onglet réseau ce qui est transmis à ton script PHP.

Tu peux aussi dans ton script PHP faire un var_dump($_POST) et voir le résultat ensuite en réponse dans la console réseau.

passage de paramètre Ajax à PHP

par sirflan » 07 déc. 2021, 17:49

Bonjour,

Je suis débutant en PHP.
je souhaite passer des variables de ajax vers mon programme PHP.
Je n'arrive pas à accéder à mes variables dans mon code PHP.
J'ai un message "Undefined array key" sur les noms de mes variables.
Merci de votre aide.

Mon code AJAX

<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#enreg_button').click(function() {
var annee = $('#annee').val();
var nom = $('#nom').val();
var balance_id = $('#id').val();
$.ajax({
url: "insert_balance.php",
method: 'POST',
data: ({annee: annee}, {nom: nom}, {balance_id: balance_id}),
contentType: false,
processData: false,
success: function(data) {
console.log(data);
}
});

});
});
</script>

MON CODE PHP

<?php
include('database connection.php');
include('function.php');

echo $_POST['balance_id'];
echo $_POST['nom'];
echo $_POST['annee'];


$statement = $connection->prepare(
"UPDATE bal_client
SET annee = :annee, nom = :nom
WHERE id = :id"
);
$result = $statement->execute(
array(
':annee' => $_POST["annee"],
':nom' => $_POST["nom"],
':id' => $_POST["balance_id"]
)
);