Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2011, 17h43   #1
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
Par défaut ajax et redirection declarée dans le fichier php

Bonjour ,

j'ai un petit problème , j'ai un formulaire de connexion et je fais appel a Jquery pour le valider , il me retourne soit un message d'erreur ou soit il me doit me rediriger vers la page du membre , sauf que la redirection est fait au niveau php et du coup je me retrouve avec le formulaire de connexion et ma page du membre en dessous

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
		$("#verif_connexion").click(function(e){
			e.preventDefault();
			$("#error").empty();
			$("error").append("");
			dataString = $("#connexion").serialize()
			$.ajax({
				type:"POST",
				url:"trait-connexion.php",
				data: dataString,
				async:false,
				success:function(html){ 
					$("#error").append(html);
				}
			});
		});

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
..
if($_SESSION['statut'] == 1){
					header('Location: http://localhost/test/admin.php');
				}
				elseif($_SESSION['statut'] == 2){
					header('Location: http://localhost/test/member.php');
				}
			}else{
				echo "Vous avez fourni un mot de passe incorrect";
			}
		}
		else{
			echo "Ce compte n'existe pas dans notre base";
		}
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 11h01   #2
Nouveau Membre du Club
 
Homme Kevin
Webdesigner & Intégrateur web
Inscription : mai 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Webdesigner & Intégrateur web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2011
Messages : 23
Points : 27
Points : 27
Impossible, tu ne peut pas rediriger via le php dans un appel AJAX. Quand tu fait un appel AJAX, la page de destination s'execute indépendamment de ta page principale et retourne le résultat. Renvoie plutôt un code d'erreur à chaque fois avec un simple echo et fait la redirection en JS.


genre pour le JS :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
$("#verif_connexion").click(function(e){
  e.preventDefault();
  $("#error").empty();
  $("error").append("");
  dataString = $("#connexion").serialize()
  $.ajax({
    type:"POST",
    url:"trait-connexion.php",
    data: dataString,
    async:false,
    success:function(data){ 
      if(data == 0) {
        window.location.href = 'http://localhost/test/admin.php';
      } else if(data == 2) {
        window.location.href = 'http://localhost/test/member.php';
      } else {
        $("#error").append(data);
      }
    }
  });
});
w3ar3dus1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 12h26   #3
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
le problème est que les url sont visible juste en faisant clic droit et je souhaiterai que cela ne le soit pas
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 13h53   #4
Nouveau Membre du Club
 
Homme Kevin
Webdesigner & Intégrateur web
Inscription : mai 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Webdesigner & Intégrateur web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2011
Messages : 23
Points : 27
Points : 27
Citation:
les url sont visible juste en faisant clic droit
Peut tu préciser un peu, je ne vois pas très bien ce que tu veut dire?
w3ar3dus1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 14h21   #5
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
clic droit et voir le code source dans un navigateur
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 15h01   #6
Nouveau Membre du Club
 
Homme Kevin
Webdesigner & Intégrateur web
Inscription : mai 2011
Messages : 23
Détails du profil
Informations personnelles :
Nom : Homme Kevin
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Webdesigner & Intégrateur web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2011
Messages : 23
Points : 27
Points : 27
Dans ce cas, JSON vient à ta rescousse.
Tu renvoie de ton php un objet avec un code pour le statut et en fonction de ça soit tu redirige, soit t'affiche une erreur.

le js :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$.ajax({
      type:"POST",
      url:"trait-connexion.php",
      data: dataString,
      dataType: 'json',
      success:function(data){
        if(data.statut === 0 || data.statut === 1) {
          window.location.href = data.redirect;
        } else {
          $("#error").append(data.errorText);
        }
      }
    });
le php :
Code :
1
2
3
4
5
6
7
8
 
if($_SESSION['statut'] == 1){
  echo '{ "statut": 0, "redirect": "http://localhost/test/admin.php" }';
} elseif ($_SESSION['statut'] == 2){
  echo '{ "statut": 1, "redirect": "http://localhost/test/member.php" }';
} else {
  echo '{ "statut": 3, "errorText": "Vous avez fourni un mot de passe incorrect" }';
}
w3ar3dus1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 15h23   #7
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
effectivement j'y avais pas pensé ^^
Merci
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h01.


 
 
 
 
Partenaires

Hébergement Web