Aide login en ajax
Résolu
Dhaye3
Messages postés
103
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
je veut faire un login pour les membres et avec ajax voila les codes que j'ais fais mais ca n marche pas et je n sait pas ou est le prob svp aidé moi c urgent
merci d'avance
index.html
apres faire <script type="text/javascript" src="js/logclt.js"></script>
logclt.js
et enfin logclt.php
je veut faire un login pour les membres et avec ajax voila les codes que j'ais fais mais ca n marche pas et je n sait pas ou est le prob svp aidé moi c urgent
merci d'avance
index.html
apres faire <script type="text/javascript" src="js/logclt.js"></script>
<div class="moduletable" id="loginform">
<div id="erreur"> </div>
<p>
<!-- login -->
<label for="logclt"><strong> Login :</strong></label>
<input id="logclt" name="logclt" type="text" /><p>
<!-- Mot de passe -->
<label for="mpclt"><strong> Mot de passe :</strong></label>
<input id="mpclt" name="mpclt" type="password" />
<p>
<input type="button" name="submit" value="Login" onclick="logclt()" >| <a href="javascript:ajaxpagefetcher.load('content', 'inscription.php', false,'')">S'inscrire</a>
</div>
logclt.js
function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}
var http = createObject();
var nocache = 0;
function logclt() {
var logclt = encodeURI(document.getElementById('logclt').value);
var mpclt = encodeURI(document.getElementById('mpclt').value);
nocache = Math.random();
http.open('POST', 'http://localhost/essai/scripts/logclt.php?logclt='+logclt+'&mpclt='+mpclt+'&nocache = '+nocache);
http.onreadystatechange = loginReply;
http.send(null);
}
function loginReply() {
if(http.readyState == 4){
var response = http.responseText;
if(response == 0){
document.getElementById('erreur').innerHTML = 'Veillez verifier votre login et mot de passe';
}
else{
document.getElementById('loginform').innerHTML = 'Welcome'+response;
}
}
}
et enfin logclt.php
<?php
$connect=mysql_connect("localhost", "root", "") or die ("Echec de la connexion au serveur !");
$select=mysql_select_db("sotufab");
if(isset($_POST['logclt']) && isset($_POST['mpclt'])){
$login = $_POST['logclt'];
$psw = $_POST['mpclt'];
$getUser_sql = "SELECT * FROM client WHERE log_clt= '$login' AND mp_clt = '$psw' ";
$getUser = mysql_query($getUser_sql);
$getUser_result = mysql_fetch_array($getUser);
$getUser_RecordCount = mysql_num_rows($getUser);
if($getUser_RecordCount < 1){
echo '0';
}
else{
echo $getUser_result['nom_clt'];
}
}
?>
3 réponses
Bonsoir:
tu travaille en POST dans ton Ajax donc il ne faut pas mettre les valeurs envoyées dans l'url
http.open('POST', 'http://localhost/essai/scripts/logclt.php?logclt='+logclt+'&mpclt='+mpclt+'&nocache = '+nocache);
http.onreadystatechange = loginReply;
http.send(null);
mais:
ensuite:
$getUser_sql = "SELECT * FROM client WHERE log_clt= '$login' AND mp_clt = '$psw' ";
$getUser = mysql_query($getUser_sql);
$getUser_result = mysql_fetch_array($getUser);
$getUser_RecordCount = mysql_num_rows($getUser);
if($getUser_RecordCount < 1){
echo '0';
}
else{
echo $getUser_result['nom_clt'];
}
}
fais:
tu travaille en POST dans ton Ajax donc il ne faut pas mettre les valeurs envoyées dans l'url
http.open('POST', 'http://localhost/essai/scripts/logclt.php?logclt='+logclt+'&mpclt='+mpclt+'&nocache = '+nocache);
http.onreadystatechange = loginReply;
http.send(null);
mais:
http.open('POST', 'logclt.php); // mets ton url en relatif par rapport au script en cours (sans htt://localhost...)
data='logclt='+logclt+'&mpclt='+mpclt+'&nocache = '+nocache';
http.onreadystatechange = loginReply;
http.send(datal);
ensuite:
$getUser_sql = "SELECT * FROM client WHERE log_clt= '$login' AND mp_clt = '$psw' ";
$getUser = mysql_query($getUser_sql);
$getUser_result = mysql_fetch_array($getUser);
$getUser_RecordCount = mysql_num_rows($getUser);
if($getUser_RecordCount < 1){
echo '0';
}
else{
echo $getUser_result['nom_clt'];
}
}
fais:
$getUser_sql = "SELECT * FROM client WHERE log_clt= '$login' AND mp_clt = '$psw' ";
$getUser = mysql_query($getUser_sql);
$getUser_RecordCount = mysql_num_rows($getUser);
if($getUser_RecordCount < 1){
echo '0';
}
else{
$getUser_result = mysql_fetch_array($getUser);
echo $getUser_result['nom_clt'];
}
}
slt
merci mais le probleme reste encore que meme si je tape le login et le motde passe correcte tjrs il m'affiche 'Veillez verifier votre login et mot de passe'
alors j'ai essayé le php sans ajax et il fonctionne donc le prob je crois dans le js ou bien dans l'index (l'appel du js)
????
comment ouis je faire
merci une autre fois
merci mais le probleme reste encore que meme si je tape le login et le motde passe correcte tjrs il m'affiche 'Veillez verifier votre login et mot de passe'
alors j'ai essayé le php sans ajax et il fonctionne donc le prob je crois dans le js ou bien dans l'index (l'appel du js)
????
comment ouis je faire
merci une autre fois
c mon projet il est creation d'un ste web dunamique en ajax
en plus avec de php pure la reponse sera dans une nouvelle page alors que je veut avoir la reponse de php dans un div qu je precise dans la meme page html
en plus avec de php pure la reponse sera dans une nouvelle page alors que je veut avoir la reponse de php dans un div qu je precise dans la meme page html
En php tu peux avoir la réponse dans la même page qd elle se recharge, il suffit que ton form ait comme action=la page elle même
au début de ta page tu mets tout le traitement, puis en fin le formulaire de saisie login et pass
et tu testes si formulaire posté tu verifie login pass si okk tu fais un ouverture de session et header ("Location:page_accueil.html") de ton site protégé
En Ajax ce sera plus délicat
par contre tu peux utiliser de l'Ajax dans d'autres pages de ton site pour lier des listes déroulantes, la 2 ième se remplissant en fct du choix de la première
au début de ta page tu mets tout le traitement, puis en fin le formulaire de saisie login et pass
et tu testes si formulaire posté tu verifie login pass si okk tu fais un ouverture de session et header ("Location:page_accueil.html") de ton site protégé
En Ajax ce sera plus délicat
par contre tu peux utiliser de l'Ajax dans d'autres pages de ton site pour lier des listes déroulantes, la 2 ième se remplissant en fct du choix de la première