Je n'arrive pas à me connecter à l'espace membre en ajax, j'utilise un mauvais code de connexion je pense.
Voici le code login.php :
require('../include/function.inc.php');
if (isset($_SESSION['pseudo'])) {
header('Location: home');
}
$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) {
echo '<div id="erreur" align="center">Vos identifiants sont incorrects !</div>';
}
mysql_free_result($req);
mysql_close();
}
else {
echo "<div id="erreur">Veuillez remplir tous les champs !</div>";
}
Ensuite voici mon formulaire : <div id="form-login">
<form method="post" action="javascript:alert('success!');" 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="submit" class="login" id="submit" value="" /><img src="../img/load1.gif" alt="" height="16" width="16" class="load img-loading" /></td></tr>
<tr><td><div id="ajax_loading" style="display: none;"><img align="absmiddle" src="images/spinner.gif"> Processing...</div></td></tr>
<tr><td></td></tr>
</table>
</form>
<div id="login_response"></div>
</div>
Et mon code JS ajax : [javascript]
// Preload Images
img1 = new Image(16, 16);
img1.src="images/spinner.gif";
img2 = new Image(220, 19);
img2.src="images/ajax-loader.gif";
// When DOM is ready
$(document).ready(function(){
// When the form is submitted
$("#form-login > form#formlogin").submit(function(){
// Hide 'Submit' Button
$('#login').hide();
// Show Gif Spinning Rotator
$('#ajax_loading').show();
// 'this' refers to the current submitted form
var str = $(this).serialize();
// -- Start AJAX Call --
$.ajax({
type: "POST",
url: "../home/login/index.php", // Send the login info to this page
data: str,
success: function(msg){
$("#form-login").ajaxComplete(function(event, request, settings){
// Show 'Submit' Button
$('#login').show();
// Hide Gif Spinning Rotator
$('#ajax_loading').hide();
if(msg == 'OK') // LOGIN OK?
{
var login_response = '<div id="logged_in">' +
'<div style="width: 350px; float: left; margin-left: 70px;">' +
'<div style="width: 40px; float: left;">' +
'<img style="margin: 10px 0px 10px 0px;" align="absmiddle" src="images/ajax-loader.gif">' +
'</div>' +
'<div style="margin: 10px 0px 0px 10px; float: right; width: 300px;">'+
"You are successfully logged in! <br /> Please wait while you're redirected...</div></div>";
$('#dialog-login').css("width","500px");
$('#dialog-login').css("height","120px");
$(this).html(login_response); // Refers to 'status'
// After 3 seconds redirect the
setTimeout('go_to_private_page()', 3000);
}
else // ERROR?
{
var login_response = msg;
$('#login_response').html(login_response);
}
});
}
});
// -- End AJAX Call --
return false;
}); // end submit event
});
function go_to_private_page()
{
window.location = '../home/'; // Members Area
}
[/javascript]
Ce que je trouve bizarre, c'est que dans la page login.php il y a une redirection et que dans le script ajax, il y en a une aussi.
Quand je me connecte le script ajax envoi bien au fichier de connexion et la réponse me donne :
"Vos identifiants sont incorrects"
Donc c'est peut être une erreur de code dans la page de connexion.
J'ai cherché sur google, et je trouve pas de solution
Merci d'avance pour votre aide
Mais si