<?php
require 'check_login.php';
require 'db_connect.php';
$user_id = $_SESSION['user_id'];
$msg = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$old = $_POST['old'] ?? '';
$new = $_POST['new'] ?? '';
try {
// Hämta användarens nuvarande lösenord-hash
$stmt = $pdo->prepare("SELECT cus_pass FROM customer WHERE cus_id = ?");
$stmt->execute([$user_id]);
$user_data = $stmt->fetch();
if ($user_data && password_verify($old, $user_data['cus_pass'])) {
// Verifiera att det nya lösenordet inte är tomt
if (empty($new)) {
$msg = "Det nya lösenordet får inte vara tomt.";
} else {
// Hasha det nya lösenordet
$hashed_new_password = password_hash($new, PASSWORD_DEFAULT);
// Uppdatera lösenordet i databasen
$stmt = $pdo->prepare("UPDATE customer SET cus_pass = ? WHERE cus_id = ?");
$stmt->execute([$hashed_new_password, $user_id]);
$msg = "Lösenordet har ändrats!";
}
} else {
$msg = "Fel nuvarande lösenord.";
}
} catch (\PDOException $e) {
error_log("Database error in change_password: " . $e->getMessage());
$msg = "Ett fel uppstod vid lösenordsbyte.";
}
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Byt lösenord</title>
<link rel="stylesheet" href="style.css">
</head>
<body class="center-container">
<div class="box">
<h2>Byt lösenord</h2>
<?php if ($msg): ?>
<p class="message <?= strpos($msg, 'Fel') !== false || strpos($msg, 'tomt') !== false ? 'error' : 'success' ?>"><?= htmlspecialchars($msg) ?></p>
<?php endif; ?>
<form method="post">
<input type="password" name="old" placeholder="Nuvarande lösenord" required>
<input type="password" name="new" placeholder="Nytt lösenord" required>
<button type="submit" class="btn">Byt lösenord</button>
</form>
<a href="user.php">Tillbaka till Min Sida</a>
</div>
</body>
</html>