Aide login en ajax

Résolu
Dhaye3 Messages postés 103 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>

<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

Alain_42 Messages postés 5413 Statut Membre 894
 
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:

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'];
}
}
0
Dhaye3 Messages postés 103 Statut Membre 3
 
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
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Pourquoi veux tu absolument utiliser Ajax pour vérifier login et mot de pass

fait le tout simplement en php (si ça marche), pour faire cela Ajax n'apporte rien
0
Dhaye3 Messages postés 103 Statut Membre 3
 
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
0
Alain_42 Messages postés 5413 Statut Membre 894
 
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
0