IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

ajax et redirection declarée dans le fichier php


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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";
    		}

  2. #2
    Membre averti
    Homme Profil pro
    Webdesigner & Intégrateur web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
          }
        }
      });
    });

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Par défaut
    le problème est que les url sont visible juste en faisant clic droit et je souhaiterai que cela ne le soit pas

  4. #4
    Membre averti
    Homme Profil pro
    Webdesigner & Intégrateur web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Par défaut
    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?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 146
    Par défaut
    clic droit et voir le code source dans un navigateur

  6. #6
    Membre averti
    Homme Profil pro
    Webdesigner & Intégrateur web
    Inscrit en
    Mai 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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" }';
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Excécuter une fonction JS dans un fichier PHP "appelé" en Ajax
    Par Voyageur Du Net dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/05/2011, 18h21
  2. [PHP-JS] PHP dans javascript = fichier .php ?
    Par DevloNewb' dans le forum Langage
    Réponses: 20
    Dernier message: 05/07/2006, 12h14
  3. Réponses: 6
    Dernier message: 22/05/2006, 14h54
  4. [FICHIER]redirection éventuelle dans un fichier.
    Par yanndan dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2006, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo