elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  PHP - Mysql - Opcion Combio de Contraseña cuando estas loguado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PHP - Mysql - Opcion Combio de Contraseña cuando estas loguado  (Leído 1,566 veces)
Kepriel

Desconectado Desconectado

Mensajes: 1


Ver Perfil
PHP - Mysql - Opcion Combio de Contraseña cuando estas loguado
« en: 6 Abril 2019, 14:06 pm »

Mi codigo del cambio de contraseña changePassword.php:

Código
  1. <?php
  2.    require 'database.php';
  3.  
  4.    $errors = array();
  5.  
  6.    $nickname = trim($_POST['nickname']);
  7.    if (empty($nickname) {
  8.        $errors[] = 'You forgot to enter your nickname.';
  9.    }
  10.  
  11.    $password = trim($_POST['password']);
  12.    if (empty($password)) {
  13. $errors[] = 'You forgot to enter your old password.';
  14.    }
  15.  
  16.    $new_password = trim($_POST['new_password']);
  17.    $verify_password = trim($_POST['new_confirm_password']);
  18.    if (!empty($new_password)) {
  19.        if (($new_password != $verify_password) ||
  20. ( $password == $new_password ))
  21. {
  22.            $errors[] = 'Your new password did not match the confirmed password and/or ';
  23. $errors[] = 'Your old password is the same as your new password.';
  24. }
  25. } else {
  26. $errors[] = 'You did not enter a new password.';
  27.    }
  28.  
  29.    if (empty($errors)) {
  30.        try {
  31.            $query = "SELECT id, password FROM users WHERE ( nickname=:nickname )";
  32.        $q = mysqli_stmt_init($dbcon);
  33.            mysqli_stmt_prepare($q, $query);
  34.  
  35.            mysqli_stmt_bind_param($q, 's', $nickname);
  36.  
  37.            mysqli_stmt_execute($q);
  38.  
  39.            $result = mysqli_stmt_get_result($q);
  40.            $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  41.            if ((mysqli_num_rows($result) == 1) && (password_verify($password, $row['password']))) {
  42.                $hashed_passcode = password_hash($new_password, PASSWORD_BCRYPT);
  43.                $query = "UPDATE users SET password=:password WHERE nickname=:nickname";
  44.            $q = mysqli_stmt_init($dbcon);                                
  45.                mysqli_stmt_prepare($q, $query);
  46.  
  47.                mysqli_stmt_bind_param($q, 'ss', $hashed_passcode, $nickname);
  48.  
  49.                mysqli_stmt_execute($q);
  50.  
  51.                if (mysqli_stmt_affected_rows($q) == 1) {
  52.                    header ("location: passwordThanks.php");
  53.            exit();  
  54.        } else {
  55.                    $errorstring = "System Error! <br /> You could not change password due ";
  56.        $errorstring .= "to a system error. We apologize for any inconvenience.</p>";
  57.                    echo "<p>$errorstring</p>";
  58.  
  59.                    echo '<footer class="jumbotron text-center col-sm-12" style="padding-bottom:1px; padding-top:8px;"> include("footer.php"); </footer>';
  60.            exit();
  61.                }
  62.            } else {
  63.                $errorstring = 'Error! <br /> ';
  64.                $errorstring .= 'The nickname and/or password do not match those on file.';
  65.                $errorstring .= " Please try again.";
  66.                echo "<p>$errorstring</p>";
  67.            }
  68.        } catch(Exception $e) {
  69.            print "The system is busy please try later";
  70.        } catch(Error $e) {
  71.            print "The system is busy please try again later.";
  72.        }
  73.    } else {
  74.        $errorstring = "Error! The following error(s) occurred:<br>";
  75. foreach ($errors as $msg) {
  76.            $errorstring .= " - $msg<br>\n";
  77. }
  78. $errorstring .= "Please try again.<br>";
  79. echo "<p>$errorstring</p>";
  80. }
  81.  
  82. ?>
  83. <!DOCTYPE html>
  84. <html>
  85.    <head>
  86.        <meta charset="utf-8">
  87.        <title>Change your Password</title>
  88.        <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  89.        <link rel="stylesheet" href="assets/css/style.css"/>
  90.    </head>
  91.    <body>
  92.  
  93.        <?php require "partials/header.php" ?>
  94.  
  95.        <?php if (!empty($message)): ?>
  96.            <p><?= $message ?></p>
  97.        <?php endif; ?>
  98.  
  99.        <h1>Change your Password</h1>
  100.        <form action="changePassword.php" method="post">
  101.            <input type="text" name="nickname" placeholder="Enter your nickname">
  102.            <input type="password" name="old_password" placeholder="Enter your old password">
  103.            <input type="password" name="new_password" placeholder="Enter your new password">
  104.            <input type="password" name="new_confirm_password" placeholder="Confirm your new password">
  105.            <input type="submit" value="Send">
  106.    </body>
  107.    <footer class="jumbotron text-center row" style="padding-bottom:1px; padding-top:8px;">
  108.        <?php
  109.            require 'partials/footer.php'
  110.        ?>
  111.    </footer>
  112. </html>

Mi codigo del index.php:

Código
  1.  <head>
  2.    <meta charset="utf-8">
  3.    <title>Welcome to you WebApp</title>
  4.    <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  5.    <link rel="stylesheet" href="assets/css/style.css">
  6.  </head>
  7.  <body>
  8.    <?php require 'partials/header.php' ?>
  9.  
  10.    <?php if(!empty($user)): ?>
  11.      <br> Welcome. <?= $user['nickname']; ?>
  12.      <br>You are Successfully Logged In
  13.      <br>
  14.      <a href="logout.php"> Logout </a>
  15.      <br>
  16.      <br>1-. <a href="showDatabase.php"> Show your Database </a>
  17.      <br>
  18.      <br>2-. <a href="showTables.php"> Show your Tables of Database </a>
  19.      <br>
  20.      <br>3-. <a href="query.php"> Show your Query </a>
  21.      <br>
  22.      <br>4-. <a href="createDatabase.php"> Create your new Database </a>
  23.      <br>
  24.      <br>5-. <a href="subQuestion.php"> Show your Sub-Question </a>
  25.      <br>
  26.      <br>6-. <a href="insertRecord.php"> Insert record in your Database </a>
  27.  
  28.    <?php else: ?>
  29.        <p> Welcome to our official website,
  30.            in order to buy you need to log in,
  31.            if you have an account you have to register.
  32.        </p>
  33.      <h1>Please Login or SignUp</h1>
  34.      <a href="login.php">Login</a> or
  35.      <a href="signup.php">SignUp</a>
  36.  
  37.    <?php endif; ?>
  38.    <footer class="jumbotron text-center row" style="padding-bottom:1px; padding-top:8px;">
  39.        <?php
  40.            require 'partials/footer.php'
  41.        ?>
  42.    </footer>
  43.  </body>
  44. </html>


« Última modificación: 6 Abril 2019, 15:25 pm por Kepriel » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines