PHP prepare-statement User Change password

114 Views Asked by At

This is the html code for the change password page. When I click change password from the user registration table, it bring me here and it works perfectly but when you use the option of the user change password which leads you directly to this place, saving it doesn't work. I believe it's got to deal with the User ID as key since from the table is selected via ID. But when i use setting - user change password, it doesn't do anything after saving password change, it doesn't reflect anything

<div class="col-lg-6">
    <div class="col-sm-12">
    <br/>
    <h3 class="page-title">Change Password</h3>
</div>
<div class="card-box">
    <div class="form-group">
        <label for="userName">User Name</label>
        <input type="text" name="uname" parsley-trigger="change" required placeholder="Enter user name" class="form-control" id="uname" name="uname" value="<?php echo $actordetails->ACT_USERNAME;?>" readonly >
    </div>
    <div class="form-group">
        <label for="pass1">New Password<span style="color:#F00">*</span></label>
        <input id="pass1" type="password" placeholder="Password" name="inputpassword" required class="form-control">
    </div>
    <div class="form-group">
        <label for="passWord2">Confirm New Password <span style="color:#F00">*</span></label>
        <input data-parsley-equalto="#pass1" type="password" required placeholder="Password" class="form-control" id="password2">
    </div>

    <div class="form-group text-right m-b-0">
        <button class="btn btn-success waves-effect waves-light" type="submit" onclick="document.getElementById('viewpage').value='savepwd';document.getElementById('view').value='';document.getElementById('fdsearch').value='';document.myform.submit()">
                        Save
        </button>
        <button class="btn btn-default waves-effect waves-light m-l-5" onclick="document.getElementById('view').value='';document.getElementById('viewpage').value='';document.myform.submit()">
                        Cancel
        </button>
    </div>
 </div>
</div>
</form > 

and this is the controller code to process the information. The encryption uses username and password with salt for your information.. Any help would be appreciated

<?php
$crypt = new cryptCls();

switch(strtolower($viewpage)) {
    case "changepwd":

        print_r($_POST);

        $stmt = $sql->Execute($sql->Prepare("
                            SELECT ACT_USERNAME,ACT_ID 
                            FROM gm_actors   
                            WHERE ACT_ID=".$sql->Param('a')),array($keys));
        print $sql->ErrorMsg();
        if($stmt->RecordCount()>0){
            $editobj = $stmt->FetchNextObject();
            $uname = $actordetails->ACT_USERNAME;
        }

        break;

    case "savepwd":
        print_r($_POST);

        $duplicatekeeper = $session->get("post_key");
        if($action_key != $duplicatekeeper){
            $session->set("post_key",$action_key);
            if(!empty($inputpassword) && !empty($keys) ) {
                $inputpassword = $crypt->loginPassword($uname,$inputpassword);

                $stmt = $sql->Execute($sql->Prepare("
                            UPDATE gm_actors 
                                SET ACT_USERPASSWORD=".$sql->Param('b')."           
                            WHERE ACT_ID=".$sql->Param('d')." "),
                        array($inputpassword,$actordetails->ACT_ID));
                $msg = "Password has been changed successfully.";
                $status = "success";

                // $activity = ' Agent'.$keys.' password changed .';
                // $engine->setEventLog("032",$activity);

            }else if($inputpassword!==$confirmpassword){
                $msgs="Sorry! Passwords Do not Match.";
                $target ='changepwd';
            } else {

               $msg = "Unsuccessfully: All fields are required.";
                      $status = "error";
                      $view ="changepwd";
              }
        }
        break;
}

$stmtusers = $sql->Execute($sql->Prepare("
                SELECT ACT_SURNAME,ACT_ID,ACT_OTHERNAMES,
                        ACT_USERNAME,ACT_STATUS,ACT_EMAIL,ACT_PHONE,
                        ACT_ACCESS_LEVEL,ACL_NAME 
                FROM gm_actors 
                    left join gm_actors_level on ACT_ACCESS_LEVEL=ACL_NUMBER  
                WHERE ACT_ACCESS_LEVEL !='1' 
                AND ACT_STATUS !='4' 
                ORDER BY ACT_SURNAME "));
print $sql->ErrorMsg();


include("model/js.php");
include('public/alertmessage/message.php');
?>
0

There are 0 best solutions below