Files
004_comission/_resources/it114105/itp4513/Assignment/19-20/controllers/Profile.php
louiscklaw 6c60a73f30 update,
2025-01-31 19:15:17 +08:00

55 lines
2.0 KiB
PHP

<?php
class Profile extends Controller{
private $database;
public function __construct(){
$this->database = new DatabaseAccess();
if(isset($_POST["currentPassword"]) && isset($_POST["fname"])){
$this->updateUserProfile($_SESSION['customer']['customerEmail']);
}
$userProfile = $this->getUserInformation($_SESSION['customer']['customerEmail']);
parent::__construct("Profile", $userProfile);
}
public function getUserInformation($userEmail){
$result = $this->database->query("SELECT * FROM customer WHERE customerEmail = ?", "s", array($userEmail));
$row = $result->fetch_array(MYSQLI_ASSOC);
return new UserProfile($row["customerEmail"], $row["firstName"], $row["lastName"], $row["phoneNumber"]);
}
public function updateUserProfile($userEmail){
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$currentPwd = $_POST["currentPassword"];
$newPwd = $_POST["password"];
$tel = $_POST["tel"];
if($currentPwd == ""){
$result = $this->database->query("UPDATE customer SET firstName = ?, lastName = ?, phoneNumber = ? WHERE customerEmail = ?", "ssss", array($fname, $lname, $tel, $userEmail));
if($result > 0){
header("location: profile?update=success");
}else{
header("location: profile?inf=invalid");
}
}else{
$result = $this->database->query("SELECT COUNT(*) AS count FROM customer WHERE customerEmail = ? AND password = ?", "ss", array($userEmail, $currentPwd));
$row = $result->fetch_array(MYSQLI_ASSOC);
if($row["count"] > 0){
$result = $this->database->query("UPDATE customer SET firstName = ?, lastName = ?, phoneNumber = ?, password = ? WHERE customerEmail = ?", "sssss", array($fname, $lname, $tel, $newPwd, $userEmail));
echo "test1";
if($result > 0){
header("location: profile?update=success");
echo "test3";
}else{
header("location: profile?pwd=invalid");
}
}else{
header("location: profile?pwd=invalid");
}
}
}
}
?>