bonjour,
Essai le code suivant.
Le script pour le AJAX :
[javascript]
<script type='text/javascript'>
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le changement du SELECT
*/
function go(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour recuperer le retard de la caisse selectionnée
document.getElementById('erreur').innerHTML = leselect;
}
}
// Ici on utilise la methode POST pour poster les donnees
xhr.open("POST","login.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// recuperation du pseudo
valeur1 = document.getElementById('pseudo');
pseudo = valeur1.value;
// recuperation du mot de passe
valeur2 = document.getElementById('password');
password = valeur2.value;
// envoi des donnees
xhr.send("pseudo="+pseudo+"&password="+password);
}
[/javascript]
Le formulaire de connexion
<div id="erreur"> </div>
<form method="post" action="" class="form" id="formlogin">
<table>
<tr><td><label class="form-login-label">Nom d'utilisateur</label></td></tr>
<tr><td class="tooltip"><input type="text" name="pseudo" id="pseudo" class="form-login-input" maxlength="23" /><span class="tooltip"><span class="arrow"></span>Nom d'utilisateur / Pseudo</span></td></tr>
<tr><td><label class="form-login-label">Mot de passe</label></td></tr>
<tr><td class="tooltip"><input type="password" name="password" id="password" class="form-login-input" maxlength="30" /><span class="tooltip"><span class="arrow"></span>Mot de passe</span></td></tr>
<tr><td><input type="checkbox" id="checkbox" name="check" class="checkbox" /><label class="check" for="checkbox">Rester connecté</label><label class="mdp">| <a>Mot de passe perdu</a></label></td></tr>
<tr><td><input type="button" class="login" value="" onclick="go()" /><img src="../img/load1.gif" alt="" height="16" width="16" class="load img-loading" /></td></tr>
<tr><td></td></tr>
</table>
</form>
Le code de login.php
$pseudo = $_POST['pseudo'];
$pass = $_POST['password'];
if (!empty($pseudo) && !empty($pass))
{
$sql = connect_sql();
$sql = 'SELECT id FROM wa_communaute WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'" AND pass="'.mysql_escape_string(md5($_POST['password'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);
if ($nb == 1) {
$data = mysql_fetch_array($req);
$_SESSION['pseudo'] = $_POST['pseudo'];
$_SESSION['id'] = $data['id'];
mysql_free_result($req);
mysql_close();
setcookie("pseudo", $_POST["pseudo"], time() + 90 * 24 * 60 * 60, "/");
header('Location: /home/');
exit();
}
elseif ($nb == 0) {
$reponse = '<div id="erreur" align="center">Vos identifiants sont incorrects !</div>';
}
mysql_free_result($req);
mysql_close();
}
else
echo "<div id= 'erreur'> Le pseudo ou le mot de passe est incorrecte </div>";