La variable $ _POST

Par IMK, il y a 3 ans


je cherche à recuperer la variable $_POST après avoir recharger la div seul avec un fichier js
Voici le code du fichier JS

le formulaire "`` <div class="d-flex align-items-center justify-content-center mt-5"> <form id="formauth" method="post" action="#" lienform="pages/verif_login.php"> <h5>Bienvenue Dans notre Site IFA</h5> <div class="mt-4 text-end"> <p class="mt-4 mb-0 text-center text-danger" id="msg"></p> </div> <div class="form-group"> <label class="form-label">Nom d'utilisateur</label> <input class="form-control" id="login" type="mail" name="mail" placeholder="Adresse mail"> </div> <div class="form-group"> <label class="form-label">Mot de Passe</label> <input id="loginform" class="form-control" id="mdp" type="password" name="mdp" placeholder="**********"> </div> <div class="form-group"> <div class="text-end mt-3"> <button class="btn btn-primary btn-block w-100" type="submit">Se Connecter</button> </div> </div> <p class="mt-4 mb-0 text-center"><a class="ms-2" id="lien" href="#" lienhref="Recuperermdp.php">Mot de passe oublier</a></p> </form> </div> <script src="pages/js/lienform.js"></script> //fichier JS document.forms["formauth"].addEventListener("submit",function(e){ e.preventDefault(); var link = $(this).attr('lienform'); alert(link); link = link + "#msg"; $("#msg").load(link); }); `"

Ce que je veux

recuper $mail = $_POST['mail'];
$mdp = $_POST['mdp'];

Ce que j'obtiens

Undefined index: mail,Undefined index: mdp

12 réponses

Levy Stephane, il y a 3 ans

İl te faut les récupérer à partir d'un ficher php

Levy Stephane, il y a 3 ans

Si c'est le cas et que tu ne t'es pas trompé sur les valeurs des attribues name, essai de vérifier que c'est valeur existe avec un issset() avant de les stocker dans des variables

IMK, il y a 3 ans

je ne suis pas du coup trompé, j'essaie de les recupperer avec un fichier php mais le problème c'est le fichier js qui entre le fichier login et le verif_login une fois qu'il charge la div, j'appel la variable POST le navigateur me renvoie undefined(la variable POST n'existe pas)

IMK, il y a 3 ans

voici en quelque sorte le fichier que j'appel dès qu'on valide le formulaire
"``document.forms["formauth"].addEventListener("submit",function(e){
e.preventDefault();
var link = $(this).attr('lienform');
alert(link);
link = link + "#msg";
$("#msg").load(link);
});'"

Levy Stephane, il y a 3 ans

Essai de commenter le preventDefault() parce qu'il empêche l'action du bouton donc l'envoi des données du formulaire à si tu veux le garder il faut faire une requête ajax

IMK, il y a 3 ans

j'ai effacé dorénavant mais rien de resultat attendu
peut-être avec ce requette ajax, mais là si possible puis-je avoir la syntaxe de cette dernière

Levy Stephane, il y a 3 ans

Vu que tu utilise jquery, voici un exemple d'un formulaire soumis en ajax. Après si tu veux plus de détails et d'explications je pense que grafikart a fait une vidéo à ce sujet

$(document).ready(function () { $("form").submit(function (event) { var formData = { name: $("#name").val(), email: $("#email").val(), superheroAlias: $("#superheroAlias").val(), }; $.ajax({ type: "POST", url: "process.php", data: formData, dataType: "json", encode: true, }).done(function (data) { console.log(data); }); event.preventDefault(); }); });
IMK, il y a 3 ans

Ok je vois déjà.
Je veux le faire tout de suite

IMK, il y a 3 ans

Excusez-moi pour le retard, mais même en utlisant la technologie ajax cela ne marche pas.

Levy Stephane, il y a 3 ans

puis je voir ton fichier php?

IMK, il y a 3 ans

Vraiment desolé pour le retard de plus

document.forms["formauth"].addEventListener("submit",function(event){ var formData = { mail: $("#mail").val(), mdp: $("#mdp").val(), }; $.ajax({ type: "POST", url: "pages/verif_login.php", data: formData, success : function(data){ $("#msg").text('Bien envoyer'); $("#msg").show(); }, error : function(){ $("#msg").text('Tous les champs sont obligatoire'); $("#msg").show(); } }); event.preventDefault(); });
IMK, il y a 3 ans

ce bon déjà Boss Merci beaucoup pour votre accompagnement le problème était au niveau de input de type password, il à deux identifiants