I'm trying to make a page so users can update their username, email, and password. I have made this script, not sure if it should work or not. When I click update it doesn't make any changes to the account. Not sure what it is. I left the HTML stuff out.
<?php
session_start();
require 'core/init.php';
$uname = $_GET['username'];
$username = $_SESSION['username'];
if(isset($_POST['update'])) {
    $uname = $_GET['username'];
    if(!empty($_POST['username'])) {
        $updateuname = $db->prepare("UPDATE users SET username = :username WHERE username='".$uname."'");
        $updateuname->bindValue(':username', $_POST['username'], PDO::PARAM_STR);
        $updateuname->execute();
        if(!empty($_POST['email'])) {
            $updateemail = $db->prepare("UPDATE users SET email = :email WHERE username='".$uname."'");
            $updateemail->bindValue(':email', $_POST['email'], PDO::PARAM_STR);
            $updateemail->execute();
            if(!empty($_POST['password'])) {
                if(empty($_POST['password_c'])) {
                    echo 'You must enter your password in both boxes!';
                } else {
                    if($_POST['password'] == $_POST['password_c']) {
                        $updatepassword = $db->prepare("UPDATE users SET password = :password WHERE username='".$uname."'");
                        $updatepassword->bindValue(':password', $_POST['password'], PDO::PARAM_STR);
                        $updatepassword->execute();
                    } else {
                        echo 'Passwords did not match';
                    }
                }
            }
        }
    }
    echo 'Details updated!';
}
?>