[AJAX] Connexion php
reaverlost
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
newbie -
newbie -
Bonjour,
Voila, j'aimerai faire une connexion en temps réel, donc sans rechargement de ma page accueil. Quand je clique sur le bouton connexion, une session est crée sans rechargement, mais je suis obligé d'appuyer sur F5 pour voir "Bonjour $_SESSION", et j'aimerai qu'il s'affiche instantanément. Est-ce possible?
j'ai un fichier accueil.php qui contient ce code :
J'ai un fichier identification.php qui contient la vérification pour la connexion, si les identifiants sont corrects, le php renvoie 'OK'.
Et j'ai un fichier ajax.js qui contient le ce code ajax :
Voila, merci d'avance.
Voila, j'aimerai faire une connexion en temps réel, donc sans rechargement de ma page accueil. Quand je clique sur le bouton connexion, une session est crée sans rechargement, mais je suis obligé d'appuyer sur F5 pour voir "Bonjour $_SESSION", et j'aimerai qu'il s'affiche instantanément. Est-ce possible?
j'ai un fichier accueil.php qui contient ce code :
If (isset ($_SESSION && !empty ($_SESSION["pseudo"]))
{
// Afficher Bonjour Session
}
else
{
// Code html des formulaires de connexion et d'inscription
}
J'ai un fichier identification.php qui contient la vérification pour la connexion, si les identifiants sont corrects, le php renvoie 'OK'.
Et j'ai un fichier ajax.js qui contient le ce code ajax :
function maj ()
{
var objxhr = xhr_connect ();
objxhr.onreadystatechange = function ()
{
if (objxhr.readyState == 4)
{
if (objxhr.status == 200)
{
return (objxhr.responseText);
}
}
}
var login = document.getElementById("pseudo_con").value;
var pass = document.getElementById("pass_con").value;
objxhr.open ('POST', 'identification.php', true);
objxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
objxhr.send ('login='+login+'&pass='+pass);
}
Voila, merci d'avance.
A voir également:
- [AJAX] Connexion php
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Connexion sctr - Forum Discord
3 réponses
Bonjour,
Ce qui me gène dans votre code est cette ligne :
Xavier
Ce qui me gène dans votre code est cette ligne :
return (objxhr.responseText);. À mon avis, il faudrait plutôt faire un
document.getElementById('zone_d_affichage').innerHtml = objxhr.responseText;, ou placer cette valeur dans une variable globale. Parce que la valeur de retour d'un callback XHR n'est pas récupérable, me semble-t-il.
Xavier
Merci de la réponse,
J'avoue que je ne savais pas quoi mettre à la place de mon "return (objxhr.responseText);".
Le soucis c'est que justement je n'ai pas de zone d'affichage, étant donné que ma page accueil.php vérifie déjà en PHP s'il existe une session ou pas. Ce que je veux c'est qu'en cliquant sur le bouton, cette même page se met à jour et affiche "Bonjour $_SESSION['pseudo']", sans mettre dans mon javascript les document.getElementById() machin...
Est-ce possible de cette manière?
Si je m'exprime mal, je tenterai de mieux m'exprimer =)
Merci encore.
J'avoue que je ne savais pas quoi mettre à la place de mon "return (objxhr.responseText);".
Le soucis c'est que justement je n'ai pas de zone d'affichage, étant donné que ma page accueil.php vérifie déjà en PHP s'il existe une session ou pas. Ce que je veux c'est qu'en cliquant sur le bouton, cette même page se met à jour et affiche "Bonjour $_SESSION['pseudo']", sans mettre dans mon javascript les document.getElementById() machin...
Est-ce possible de cette manière?
Si je m'exprime mal, je tenterai de mieux m'exprimer =)
Merci encore.
objxhr.responseTextcontient quoi ?
S'il contient le texte que tu veux afficher, alors j'en reviens à ma première réponse :
document.getElementById('zone_d_affichage').innerHtml = objxhr.responseText;
Ou alors, tu veux un alert() ?
Parce que ce que tu me dis :
« affiche "Bonjour $_SESSION['pseudo']", sans mettre dans mon javascript les document.getElementById() machin »
me laisse perplexe. Tu veux afficher quelque chose, mais sans lui dire où l'afficher, et sans recharger ta page ?
Dans ma page accueil.php, j'ai une condition PHP qui vérifie si je suis connecté ou pas:
objxhr.responseText contient 'OK' si la connexion s'est effectuée (j'ai mis ça pour tester), or je ne veux pas mettre ok mais juste qu'il "retourne" sur ma page accueil.php, mais sans recharger...
C'est possible ou pas?
J'espère que c'est plus clair.
If (isset ($_SESSION && !empty ($_SESSION["pseudo"]))
{
// Afficher le div contenant Bonjour Session
}
else
{
// Code html des formulaires de connexion et d'inscription
}
objxhr.responseText contient 'OK' si la connexion s'est effectuée (j'ai mis ça pour tester), or je ne veux pas mettre ok mais juste qu'il "retourne" sur ma page accueil.php, mais sans recharger...
C'est possible ou pas?
J'espère que c'est plus clair.