[RESOLU] Ajax : Connexion php + redirection automatique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Ajax : Connexion php + redirection automatique

Re: Ajax : Connexion php + redirection automatique

par nico44530 » 24 déc. 2012, 13:01

Maintenant c'est plus dans le PHP que ca bug :(
J'ai un bon script ajax qui peut intervenir avec le fichier php mais encore faut-il que ce soit un bon code php

Re: Ajax : Connexion php + redirection automatique

par Nours312 » 24 déc. 2012, 12:15

Salut ::


Donc, l'ajax est une connexion parallèle à celle de ton navigateur elle ne remplace pas ta page principale ni n'as de liaison avec elle .. tu peux utiliser la réponse de ton appel ajax pour l'intégrer dans la page courante, mais cette opération doit être faite en javascript !..
Donc ton header() php n'aura aucune incidence sur la page courante dans l'état !...
Par contre, tu pourrais regarder la réponse de ta page de connexion (dans la console webkit ou équivalent) et voir si tu peux l'intégrer à l'affichage courant ...
Tu peux aussi faire une réponse simple du style :: echo "loadPage("maPage.php") ; et en evaluant la réponse de l'ajax avec le moteur javascript lancer une fonction JS qui va charger dans le navigateur (non en Ajax) la page demandée ...

Bref, plusieurs solutions +/- adaptées à ton niveau et tes souhaits ...

@++

Ajax : Connexion php + redirection automatique

par nico44530 » 23 déc. 2012, 08:32

Bonjour,

J'ai un formulaire de connexion, après nombreuses tentatives d'utiliser l'ajax, il me reste plus que les forums :cry:
Donc j'aimerais que ce formulaire appel ma page login.php en ajax, pour connecter ou informer les membres sans recharger la page (rechargement après un settimeout)

J'ai essayé avec beaucoup de scripts sur internet, aucun ne marche avec le code php de connexion.

Voici le code à mettre à jour pour l'ajax :

$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="reponse01" align="center">Vos identifiants sont incorrects !</div>';
	}
	mysql_free_result($req);
	mysql_close();
}
Ensuite voici mon formulaire :
<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">|&nbsp; <a>Mot de passe perdu</a></label></td></tr>
		<tr><td><input type="submit" class="login" value="" /><img src="../img/load1.gif" alt="" height="16" width="16" class="load img-loading" /></td></tr>
		<tr><td></td></tr>
	</table>
</form>
Voilà, j'espère que vous pourrez m'aider :/
Merci d'avance pour vos réponses