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

PHP & Base de données Discussion :

Redirection jamais effectuée


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut Redirection jamais effectuée
    Bonjour, j'ai créer un compte utilisateur sur mon site web avec une page compteClient.php qui repertorie toutes les coordonnées du client. Ces coordonnées sont modifiables via un fichier modifierCompte.php.

    Voici le code pour modifier les coordonnée du client :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php
    session_start();
    ?>
    <?php require_once('Connections/patapain.php'); ?>
    <?php
    //----------------- modification des données ------------------
    mysql_select_db($database_patapain, $patapain);
    //recuperation des ancienne donnée
    if (isset($_SESSION['email'])){
    $SQL = "SELECT * FROM client WHERE email='".$_SESSION['email']."'";
    $REQ = mysql_query($SQL, $patapain) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
    $row=mysql_fetch_array($REQ);
    }
    //modification des ancienne données
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
    $dateNaissance = $_POST['requirednaissance'];
    $nom = $_POST['requirednom'];
    $prenom = $_POST['requiredprenom'];
    $adresse = $_POST['requiredadresse'];
    $cp = $_POST['requiredcode_postale'];
    $ville = $_POST['requiredville'];
    $email = $_POST['email'];
    $tel = $_POST['telPortable'];
     
     
    //verification et modification du mot de passe
    if(($_SESSION['mdp'])==($_POST['mdp'])){
    	if(isset($_POST['newmdp'])){
    	$newmdp=$_POST['newmdp'];
    	$sql = "UPDATE client
            SET date_naissance= '$dateNaissance', 
    	        Nom = '$nom',
    			Prenom ='$prenom',
    			Adresse = '$adresse',
    			code_postale = '$cp',
    			ville = '$ville',
    			email = '$email',
    			telPortable = '$tel',
    			mdp = '$newmdp'
            WHERE email = '".$_SESSION['email']."' " ;
    	//$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    	}
    }
    else if ($_POST['mdp']==NULL){
    	$sql= "UPDATE client
            SET date_naissance= '$dateNaissance', 
    	        Nom = '$nom',
    			Prenom ='$prenom',
    			Adresse = '$adresse',
    			code_postale = '$cp',
    			ville = '$ville',
    			email = '$email',
    			telPortable = '$tel'
            WHERE email = '".$_SESSION['email']."' " ;
    }
    else {
    $sql = "";
    echo " le mot de passe n'est pas correct ";
    }
    //execution de la requete
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    //changement des variables session pour la connexion
    //retour à la page d'avant ou a la page d'accueil
    $_SESSION['nom']=$nom;
    if ($req){
    	if(($email!=$_SESSION['email'])||($newmdp!=$_SESSION['mdp'])){
    	header ('Location: deconnexion.php');
    	}
    	else {//la variable session nom change lorsque le nom est modifié
    	header ('Location: compteClient.php');
    	}
    }
    }
    ma requête marche impecable, en effet j'arrive parfaitement a changer les coordonnées le mot de passe et lemail. J'arriv même à me rediriger sur la page accueil.php lorsque je change de mot de passe ou d'email.
    Mon problème, c'est que le script ne veut pas me rediriger vers la page compteClient.php lorsq le mot de passe ou lemail n'ont pas eté changer!! (cf dernière ligne du tableau)

    je pense que mon erreur vient de mon header mais je ne compren pas pourko ds ce cas la le header sur la page accueil.php fonctionne parfaitement !!

    si vous pouviez m'aider mercii d'avance !!

    Clem

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    es-tu sur que $req retourne true ?

    Parce que juste avant, en gros, tu fais un mysql_query("");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    oui je suis sur car les modifications sont apporté dans ma base de donnée!! il y a juste le fait qu'il ne me redirige pas vers la page compteClient.phph c tout!!

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Bonjour, Qu'est ce que fait le résultat actuellement sa t'envoie sur la page 'deconnexion.php' ou ça te fait rien ? Car si ça te fait rien c'est ton if($req) qui est faux sinon c'est ta condition du 2ème 'if' qui est fausse

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    sa me renvoi sur la page ou jai mes modification mai du cou sa ne lactualise pas !!
    en fait sa reste sur la page ou jetai avant.
    mais c bizarre car quand le mot de passe ou lemail est different de ceux d'origine ca me redirige bien vers la page deconnexion mon if fontionne ( dernière condition) mai c mon else qui ne fonctionne pas !!

  6. #6
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    se qu'il faut savoir c'est quand tu déclare '$sql = "" ' la valeur est null donc le if($req) est invalide donc il ne rentre pas et n'effectue pas la redirection

    car si la personne ne change pas sont MDP ou son email tu ne fais pas de requête. Ton else est peut être pas au bonne endroit

Discussions similaires

  1. Comment effectuer une redirection après un clic sur un lien
    Par Angelik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/11/2007, 22h13
  2. [C#]comment effectuer la redirection?
    Par unix27 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/01/2007, 17h02
  3. [Système] Comment effectuer une redirection
    Par RKU01 dans le forum Langage
    Réponses: 2
    Dernier message: 01/01/2007, 21h00
  4. Effectuer une redirection sous Free
    Par nerick dans le forum Langage
    Réponses: 1
    Dernier message: 11/11/2006, 17h08
  5. [C#] Redirection qui ne s'effectue pas
    Par Ditch dans le forum ASP.NET
    Réponses: 5
    Dernier message: 18/10/2004, 20h35

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