Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème modifier mot de passe PHP

PHP Problème

Sujet résolu
    30 janvier 2023 à 15:35:54

    Salut, je développe un forum de blog, toutes les parties avec l'inscription, la connexion est ok mais je ne comprends pas pourquoi l'édition du mot de passe ne fonctionne pas, le pire est que je ne connais pas l'erreur, ce n'est pas une erreur apparemment.
    La page est ok, j'ai débogué la page et il semble qu'il n'y ait pas d'erreur par exemple
    ?php debug($_SESSION); et rien, ça me montre des informations sur ce que j'ai fait qui est ok.
    Voici les codes :
    function.php :

    <?php
    
    
    function debug($variable){
    
    
    echo '<pre>' . print_r($variable, true) .'</pre>';
    
    }
    
    
    
    function str_random($length){
    
      $alphabet ="0123456789azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN";
      return substr(str_shuffle(str_repeat($alphabet, $length)), 0, $length);
    
    
    
    }
    
    
    
    
    
    function logged_only(){
    
      if(session_status() == PHP_SESSION_NONE){
    
      session_start();
    
    }
    
      if(!isset($_SESSION['auth'])){
    
        $_SESSION['flash']['danger'] = "Vous n'avez pas le droit d'accéder à cette page";
        header('Location: login.php');
        exit();
      
    
    
    
      }
    
    }
    
    
    
    account.php
    <?php 
    
    require 'function.php';
    logged_only();
    
    
    if(!empty($_POST)){
    
      if($_POST['password'] != $_POST['password_confirm']){
          $_SESSION['flash']['danger'] = "Les mots de passes ne correspondent pas";
      }else{
          $user_id = $_SESSION['auth']->id;
          $password= password_hash($_POST['password'], PASSWORD_BCRYPT);
          require_once 'db.php';
          $pdo->prepare('UPDATE users SET password = ? WHERE id = ?')->execute([$password,$user_id]);
          $_SESSION['flash']['success'] = "Votre mot de passe a bien été mis à jour";
      }
      
     
    
    
    
    }
    
    
    
    
    require 'header.php';
    
    ?>
    
    
        <h1>Bonjour <?= $_SESSION['auth']->username; ?></h1>
    
    
        <form action="" methode="post">
            <div class="form-group">
                <input class="form-control" type="password" name="password" placeholder="Changer de mot de passe"/>
            </div>
            <div class="form-group">
                <input class="form-control" type="password"  name="password_confirm" placeholder="Confirmation du mot de passe"/>
            </div>
            <button class="btn btn-primary">Changer mon mot de passe</button>
        </form>
     
    
    <?php require 'footer.php'; ?>

    header.php
    <?php 
    
    if(session_status() == PHP_SESSION_NONE){
    
      session_start();
    
    
    }
    
    
    
    ?><!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../../favicon.ico">
        <link rel="canonical" href="https://getbootstrap.com/docs/3.3/examples/starter-template/">
     
        <title>Pizza Blog</title>
        <?php
          error_reporting(E_ALL);
          ini_set("display_errors", 1);
     
     
     
      ?>
        <!-- Bootstrap core CSS -->
        <link href="css/app.css" rel="stylesheet">
     
     
        <![endif]-->
      </head>
     
      <body>
     
        <nav class="navbar navbar-inverse">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="#">Pizza Blog</a>
            </div>
            <div id="navbar" class="collapse navbar-collapse">
              <ul class="nav navbar-nav">
                <?php if (isset($_SESSION['auth'])): ?>
    
                      <li><a href="logout.php">Se déconnecter</a></li>
    
                  <?php else: ?>
                <li><a href="register.php">S'inscrire</a></li>
                <li><a href="login.php">Se connecter</a></li>
                <li><a href="#contact">Contact</a></li>
                  <?php endif; ?>
              </ul>
            </div><!--/.nav-collapse -->
          </div>
        </nav>
     
        <div class="container">
    
      <?php if(isset($_SESSION['flash'])): ?> 
    
            <?php foreach($_SESSION['flash'] as $type => $message): ?>
    
                    <div class="alert alert-<?= $type; ?>">
                  
                        <?= $message; ?>
                  
                    </div>
                    
                <?php endforeach; ?>
    
                <?php unset($_SESSION['flash']); ?>
    
            <?php endif; ?>
      
    
    
     
     
     
        </div><!-- /.container -->
     
     
        <!-- Bootstrap core JavaScript
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
        <script src="../../dist/js/bootstrap.min.js"></script>
        <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
        <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
      </body>
    </html>



    • Partager sur Facebook
    • Partager sur Twitter
      30 janvier 2023 à 20:56:05

      s'il te plaît arrête d'écrire un sujet pour ensuite dire qu'il est résolu sans même expliquer pourquoi

      ET STOP LES PAVÉS D'1 KM

      -
      Edité par Enrycoo 30 janvier 2023 à 20:56:55

      • Partager sur Facebook
      • Partager sur Twitter
        30 janvier 2023 à 22:25:00

        Sujet résolé, le prob était que méthod avait un e et je fais de mon mieux, je suis un débutant, du coup si je fais un sujet c'est que je suis perdu.

        Après je travail constamment tous les jours et fais des recherches du coup normal que je résous des probs rapidement, je vais pas attendre, que quelqu'un m'aide, je fais mes recherches jusqu'à ce que je trouve tout en sollicitant de l'aide. 

        Après je met sujet résolu pour éviter que des personnes continuent de m'aider alors que j'ai trouvé la réponsé, donc je suis bien conscient et fais attention, et les pavés d'1km sont des codes c'est normal de montre des codes, c'est pas en citant l'erreur qu'on va résoudre le prob lol.

        -
        Edité par MatthieuMonray1 30 janvier 2023 à 22:26:04

        • Partager sur Facebook
        • Partager sur Twitter
          30 janvier 2023 à 23:51:17

          "Après je travail constamment tous les jours et fais des recherches du coup normal que je résous des probs rapidement, je vais pas attendre, que quelqu'un m'aide, je fais mes recherches jusqu'à ce que je trouve tout en sollicitant de l'aide. "

          Très bien si tu résous seul. Ça prouve que tu travailles correctement.

          "Après je met sujet résolu pour éviter que des personnes continuent de m'aider alors que j'ai trouvé la réponsé"

          Maintenant, il est de coutume dans les forums de ne pas éditer (sauf correction ou ajout) nos messages. De plus, ta solution peut être la solution pour d'autres développeurs PHP. Sur le forum, on partage. Et en plus, ça permet aux personnes très bonnes en PHP de te proposer des solutions alternatives.

          • Partager sur Facebook
          • Partager sur Twitter
            31 janvier 2023 à 8:34:40

            Enrycoo a écrit:

            s'il te plaît arrête d'écrire un sujet pour ensuite dire qu'il est résolu sans même expliquer pourquoi

            ET STOP LES PAVÉS D'1 KM

            -
            Edité par Enrycoo il y a environ 11 heures


            T'abuses un peu la
            • Partager sur Facebook
            • Partager sur Twitter

            la connaissance s'acquiert par l'expérience, le reste n'est qu'information.

              31 janvier 2023 à 13:04:34

              Absolument pas, pas besoin de créer un post sur le forum si quelque minute après il le résous tout seul, je le félicite de trouver ses solutions solo mais comme CristianoRolando a dit , qu'ils nous disent pourquoi il change le statut à résolu et comment a t il fait pour trouver la solution , quelqu'un lui a déjà dit pour les pavés dans un post plus tôt et même expliquer pourquoi ne pas le faire et par quoi le remplacer mais il n'écoute pas

              les pavé d'1 km merci de me dire ce qu'est du code, mais pas besoin de mettre tout tes fichiers en entier juste des bouts de code suffisent largement.

              Même lui ce contredit, il se dit perdu du coup poste içi mais il "travail constamment tous les jours et fais des recherches du coup normal que je résous des probs rapidement, je vais pas attendre, que quelqu'un m'aide"

              je trouve ce genre d'attitude nul

              -
              Edité par Enrycoo 31 janvier 2023 à 14:18:30

              • Partager sur Facebook
              • Partager sur Twitter
                1 février 2023 à 18:55:24

                J'ai pas envie de perdre mon temps avec ces bêtises mais si tu veux que je dise pourquoi j'ai résolu la prochaine fois + moins de code et ce n'est pas un pavé d'1KM alors ok. 

                C'est moi qui trouve ton attitude nul même si j'admet que certains post j'ai mis résolu sans expliqué, ça s'arrête là c'est pas un drama. 

                • Partager sur Facebook
                • Partager sur Twitter

                Problème modifier mot de passe PHP

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown