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 :

Probleme avec un script


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut Probleme avec un script
    Bonjour a vous je suis entrain de faire un système de membres et maintenant je suis dans la parti de changement de mot de pass , je l'ai fait et tout marche a merveille , bon ma question et la suivante , j'ai deux page la premiere est pass-modif.php et la deuxième est modif-pass-post.php , pass-modif.php contient le formulaire d'envoi vers la page modif-pass-post.php , et la page modif-pass-post.php contient se script :

    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
    <?php
     
    if (isset($_SESSION['MM_Username'])&& $pass == $oldpass && $newpass1 == $newpass2) {
     
    $insertSQL = sprintf("UPDATE membres SET pass='$newpass1' WHERE nom='$session'");
     
      mysql_select_db($database_onestream, $onestream);
      $Result1 = mysql_query($insertSQL, $onestream) or die(mysql_error());
     
      $_SESSION['succes'] = 'Succès';
     
    }
    else {
      $_SESSION['erreur'] = 'Erreur : <ton_erreur>';
    }
     
    header('location: pass-modif.php');
    ?>
    et dans pass-modif.php:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
      if(isset($_SESSION['succes'])) echo $_SESSION['succes'];
      if(isset($_SESSION['erreur'])) echo $_SESSION['erreur'];
    ?>

    ce que j'ai fait est une fois le message changer j'y vais dans la page modif-pass-post.php et je reviens dans la page pass-modif.php afficher un message de succès ou non dans la page pass-modif.php , mais mon soucis est le suivant même sans changer de mot de pass une fois arriver dans la page je reçois succès et erreur dans la page , comme,t puis-je résoudre cela et merci

  2. #2
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Salam (salut) ; evite d'écrire les noms des fichiers comme ça :
    modif-pass-post.php ==> modif_pass_post.php c'est mieux.
    parceque tous simplement tes session existent ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ......
    if(isset($_SESSION['erreur']) and   $_SESSION['erreur']!="" ) {
    echo $_SESSION['erreur'];
     
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    Citation Envoyé par redoran Voir le message
    Salam (salut) ; evite d'écrire les noms des fichiers comme ça :
    modif-pass-post.php ==> modif_pass_post.php c'est mieux.
    parceque tous simplement tes session existent ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ......
    if(isset($_SESSION['erreur']) and   $_SESSION['erreur']!="" ) {
    echo $_SESSION['erreur'];
     
    }
    Mais je voudrais que les session existent seulement après avoir fait une modification elle existent tout le temps , et le code que tu viens de passer ne résous pas le problème :/

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Manque un appel à session_start() dans les deux codes avant l'utilisations des variables $_SESSION.

    Manque la gestion des $_SESSION dans le if else avec des unset de $_SESSION sinon celles ci seront toujours possédant une valeur.

    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
     
    if (isset($_SESSION['MM_Username'])&& $pass == $oldpass && $newpass1 == $newpass2) {
     
    $insertSQL = sprintf("UPDATE membres SET pass='$newpass1' WHERE nom='$session'");
     
      mysql_select_db($database_onestream, $onestream);
      $Result1 = mysql_query($insertSQL, $onestream) or die(mysql_error());
      unset( $_SESSION['erreur'] );
      $_SESSION['succes'] = 'Succès';
     
    }
    else {
      unset( $_SESSION['succes'] );
      $_SESSION['erreur'] = 'Erreur : <ton_erreur>';
    }

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Janvier 2012
    Messages : 61
    Par défaut
    Oui cela ne fait qu'afficher une seul information '' soit erreur ou succès ", mais affiche toujours l'erreur une fois arrivée dans la page de modification ,
    PS : je vous rappel mon système

    -modif-pass.php : permet a l'utilisateur de modifier son mot de pass . une fois les champs remplis il se redirige vers la page modif-pass-post.php pour insérer dans la BDD et ensuite le rediriger vers la page modif-pass.php pour afficher l'information erreur ou succés " , mais cette information s'affiche toujours sans même avoir changer le mot de pass.

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Fait un var_dump de $_SESSION tu verras bien ce qu'il contient pour mieux comprendre ton pb ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
      var_dump($_SESSION);
      if(isset($_SESSION['succes'])) echo $_SESSION['succes'];
      if(isset($_SESSION['erreur'])) echo $_SESSION['erreur'];
    ?>

Discussions similaires

  1. [AJAX] 2 scripts AJAX (contenu dynamique)
    Par Mith55 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/11/2006, 22h14
  2. Problème avec mon script en Shell
    Par G.D.O dans le forum Linux
    Réponses: 8
    Dernier message: 05/07/2006, 16h40
  3. Probleme avec un script javascript->php
    Par leluis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2006, 15h32
  4. [langage] Problème avec un script ! :(
    Par shinux2004 dans le forum Langage
    Réponses: 6
    Dernier message: 16/02/2005, 15h12
  5. Problème avec un script ftp
    Par doohan dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 17h47

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