2 pièce(s) jointe(s)
AJAX et création de SESSION - Possible?
Bonjour à toutes et à tous,
Ce sujet est la suite de celui la:
https://www.developpez.net/forums/d1.../#post10197132
En effet, j'ai deux soucis que je n'arrivais pas à régler:
1) Checkbox: résolu - voir lien ci-dessus
2) Créer une nouvelle variable de SESSION alors que mon formulaire est lié à AJAX.
Ci-dessous une représentation de la structure de mon site.
Ce dernier fonction en 4 "blocs".
Pièce jointe 374401
2 de ces blocs contiennent chacun 2 "blocs":
Pièce jointe 374405
Le menu principal donne différents liens qui mènent sur le bloc "CORPS DE PAGE" (différentes pages php à chaque fois).
Certaines de ces pages php contiennent des formulaires (Cf. Lien ci-dessous et problèmes de checkbox résolu).
Le BLOC "CORPS DE PAGE" pourra contenir par moment 2 blocs:
-> la page en question (ARTICLE)
-> un menu contextuel: Ce dernier pourra changer le contenu de ARTICLE.
Mon premier questionnaire va définir le contenu de ce menu contextuel (au travers des cases à cocher notamment).
Ayant suivi des cours en php et n'ayant aucun niveau en AJAX, je souhaiterai me servir des SESSIONS pour remplir le menu contextuel.
Problème: Je n'arrive pas à générer une variable de session (Exemple: $_SESSION['Menu_Contextuel'] au travers d'AJAX.
Cette variable me permettra d’interroger une BDD est de récupérer les éléments qui alimenteront mon menu contextuel.
SCRIPT JS:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| $(document).ready(function()
{
$('.formulaire').submit(function()
{
var nom = $('.nom').val();
if($('.checkbox001').is(':checked'))
{
var checkbox001 = 1;
}
else
{
var checkbox001 = 0;
}
$.post('Send.php',{nom:nom,checkbox001:checkbox001},function(data)
{
$('.return').html(data).slidedown();
$('.nom').val('');
$('.checkbox001').val('');
});
return false;
});
}); |
Enregistrement BDD
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
if(isset($_POST['nom']))
{
$nom = htmlspecialchars($_POST['nom']);
$checkbox001 = $_POST['checkbox001'];
$db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
$db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
$db->execute([$nom,$checkbox001]);
echo "Vos données ont été envoyées";
$_SESSION['Menu_Contextuel'] = $nom;
}
else
{
echo "Veuillez compléter tous les champs";
}
?> |