Guest User

PHP Problem #1

a guest
Feb 11th, 2017
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.04 KB | None | 0 0
  1. <?php
  2.   require_once '../../assets/conn.db.php';
  3.   require_once '../../assets/init.php';
  4.   require_once '../../assets/main.func.php';
  5.  
  6.   if($_SESSION['account']['perms'] != 2){
  7.     header('Location: ../../');
  8.   }
  9.  
  10.   $selectsql = "SELECT `name`, `phone` FROM `admin_info` WHERE username=?";
  11.   $selectstmt = $conn->prepare($selectsql);
  12.   $selectstmt->execute(array($_SESSION['account']['username']));
  13.   $admininfo = $selectstmt->fetch(PDO::FETCH_ASSOC);
  14.  
  15.   if(isset($_POST['infobtn'])){
  16.     $_name = sanitize($_POST['name']);
  17.     $_phone = sanitize($_POST['phone']);
  18.     $infomsgs = array();
  19.  
  20.     if(empty($_name)){
  21.       array_push($infomsgs, 'Please put a valid username');
  22.     }
  23.  
  24.     if(empty($_phone)){
  25.       array_push($infomsgs, 'Please put a valid number');
  26.     } elseif (strlen($_phone) != 11) {
  27.       array_push($infomsgs, 'Phone number must be an exact of 11 digits only');
  28.     }
  29.     $infomsgs = array_filter($infomsgs);
  30.     if(empty($infomsgs)){
  31.       $sql = "UPDATE `admin_info` SET
  32.        `name`=?,
  33.        `phone`=?
  34.      WHERE username=?
  35.      ";
  36.       $stmt = $conn->prepare($sql);
  37.       $stmt->execute(array($_name, $_phone, $_SESSION['account']['username']));
  38.       $_SESSION['account']['name'] = $_name;
  39.       if($stmt){
  40.         array_push($infomsgs, 'Successfully updating your personal information!');
  41.       }
  42.     }
  43.   }
  44.  
  45.   if(isset($_POST['passbtn'])){
  46.     $_currentpassword = $_POST['current-password'];
  47.     $_newpassword     = sanitize($_POST['new-password']);
  48.     $_retypepassword  = sanitize($_POST['retype-password']);
  49.     $passmsgs = array();
  50.  
  51.     if(empty($_currentpassword)){
  52.       array_push($passmsgs, 'Please enter your current password');
  53.     }
  54.     if(empty($_newpassword)){
  55.       array_push($passmsgs, 'Please enter your new password');
  56.     }
  57.     if(empty($_retypepassword)){
  58.       array_push($passmsgs, 'Please retype your new password');
  59.     }
  60.     if($_retypepassword != $_newpassword){
  61.       array_push($passmsgs, 'Your retyped password does not match with your new password');
  62.     }
  63.  
  64.     $passmsgs = array_filter($passmsgs);
  65.     if(empty($passmsgs)){
  66.       $option = ['cost' => 12];
  67.       $password = password_hash($_currentpassword, PASSWORD_BCRYPT, $option);
  68.  
  69.       $selectpasswordsql = "SELECT `password` FROM `auth` WHERE username=?";
  70.       $selectpasswordstmt = $conn->prepare($selectpasswordsql);
  71.       $selectpasswordstmt->execute(array($_SESSION['account']['username']));
  72.       $selectpasswordresults = $selectpasswordstmt->fetch(PDO::FETCH_ASSOC);
  73.  
  74.       $databasepass = $selectpasswordresults['password'];
  75.       $databasepass = trim($databasepass);
  76.       if(password_verify($password,$databasepass)){
  77.         if(empty($passmsgs)){
  78.           $updatepasssql = "UPDATE `auth` SET
  79.            `password`=?
  80.          WHERE username=?
  81.          ";
  82.           $updatepassstmt = $conn->prepare($updatepasssql);
  83.           $updatepassstmt->execute(array($password, $_SESSION['account']['username']));
  84.           if($updatepassstmt){
  85.             array_push($passmsgs, 'Successfully updating your password!');
  86.           } else {
  87.             array_push($passmsgs, 'There was a problem executing your command!');
  88.           }
  89.         }
  90.       } else {
  91.         array_push($passmsgs, 'Your current password is wrong!');
  92.       }
  93.     }
  94.   }
  95. ?>
  96. <!DOCTYPE html>
  97. <html>
  98.   <head>
  99.     <meta charset="utf-8">
  100.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  101.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.css">
  102.     <title>Update Information | Star of Hope</title>
  103.   </head>
  104.   <body>
  105.     <nav class="navbar navbar-default">
  106.       <div class="container-fluid">
  107.         <div class="navbar-header">
  108.           <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
  109.             <span class="sr-only">Toggle navigation</span>
  110.             <span class="icon-bar"></span>
  111.             <span class="icon-bar"></span>
  112.             <span class="icon-bar"></span>
  113.           </button>
  114.           <a class="navbar-brand" href="#">Star of Hope Christian School</a>
  115.         </div>
  116.  
  117.         <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  118.           <ul class="nav navbar-nav">
  119.             <li><a href="../../">Homepage</a></li>
  120.             <li class="dropdown active">
  121.               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dashboard <span class="caret"></span></a>
  122.               <ul class="dropdown-menu" role="menu">
  123.                 <li><a href="index.php">Home</a></li>
  124.                 <li class="divider"></li>
  125.                 <li><a href="newpost.php">Post an Update</a></li>
  126.                 <li><a href="newstaff.php">Add a New Teacher</a></li>
  127.                 <li class="divider"></li>
  128.                 <li><a href="#">Update Your Information</a></li>
  129.               </ul>
  130.             </li>
  131.           </ul>
  132.           <ul class="nav navbar-nav navbar-right">
  133.             <ul class="nav navbar-nav navbar-right">
  134.               <li class="dropdown">
  135.                 <a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?php echo $_SESSION['account']['name']; ?> <span class="caret"></span></a>
  136.                 <ul class="dropdown-menu" role="menu">
  137.                   <li><a href="../../auth/logout.php">Logout</a></li>
  138.                 </ul>
  139.               </li>
  140.             </ul>
  141.           </ul>
  142.         </div>
  143.       </div>
  144.     </nav>
  145.  
  146.     <div class="container">
  147.         <div class="well">
  148.           <form method="post">
  149.             <div class="form-group">
  150.               <label for="name">Name</label>
  151.               <input type="text" name="name" placeholder="Name" class="form-control" value="<?php echo $admininfo['name']; ?>" required>
  152.             </div>
  153.             <div class="form-group">
  154.               <label for="phone">Phone</label>
  155.               <input type="text" name="phone" placeholder="Phone" class="form-control" value="<?php echo $admininfo['phone']?>" required maxlength="11">
  156.             </div>
  157.             <input type="submit" value="Update Information" class="btn btn-primary" name="infobtn">
  158.             <input type="reset" value="Clear Fields" class="btn btn-default"><br>
  159.             <?php if(isset($infomsgs)){
  160.               foreach($infomsgs as $msg){
  161.                 echo $msg.'<br>';
  162.               }
  163.             } ?>
  164.           </form>
  165.         </div>
  166.         <hr>
  167.         <div class="well">
  168.           <form method="post">
  169.             <div class="form-group">
  170.               <label for="current-password">Your Current Password</label>
  171.               <input type="password" name="current-password" placeholder="Your Current Password" required maxlength="25" class="form-control">
  172.             </div>
  173.             <div class="form-group">
  174.               <label for="new-password">Your New Password</label>
  175.               <input type="password" name="new-password" placeholder="Your New Password" required maxlength="25" class="form-control">
  176.             </div>
  177.             <div class="form-group">
  178.               <label for="retype-password">Retype your New Password</label>
  179.               <input type="password" name="retype-password" placeholder="Please retype your new password" required maxlength="25" class="form-control">
  180.             </div>
  181.               <input type="submit" name="passbtn" value="Change Password" class="btn btn-primary">
  182.               <input type="reset" value="Clear Fields" class="btn btn-default"><br>
  183.               <?php if(isset($passmsgs)){
  184.                 foreach($passmsgs as $msg){
  185.                   echo $msg.'<br>';
  186.                 }
  187.               } ?>
  188.           </form>
  189.         </div>
  190.     </div>
  191.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  192.     <script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script>
  193.     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  194.   </body>
  195. </html>
Advertisement
Add Comment
Please, Sign In to add comment