*/ if ($argc !== 3) { echo 'Verwendung: php scripts/container/reset-password.php ' . PHP_EOL; exit(1); } $username = $argv[1]; $newPassword = $argv[2]; $host = getenv('DB_HOST') ?: 'db'; $dbName = getenv('DB_NAME') ?: 'steuerkram'; $dbUser = getenv('DB_USER') ?: 'steuerkram'; $dbPass = getenv('DB_PASS') ?: 'steuerkram'; try { $pdo = new PDO( "mysql:host=$host;dbname=$dbName;charset=utf8mb4", $dbUser, $dbPass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION] ); } catch (PDOException $e) { echo 'FEHLER: DB-Verbindung fehlgeschlagen: ' . $e->getMessage() . PHP_EOL; exit(1); } $stmt = $pdo->prepare('SELECT COUNT(*) FROM users WHERE username = ?'); $stmt->execute([$username]); if ((int) $stmt->fetchColumn() === 0) { echo 'FEHLER: Benutzer "' . $username . '" wurde nicht gefunden.' . PHP_EOL; exit(1); } $hash = password_hash($newPassword, PASSWORD_BCRYPT); $stmt = $pdo->prepare('UPDATE users SET password_hash = ? WHERE username = ?'); $stmt->execute([$hash, $username]); echo 'Passwort für Benutzer "' . $username . '" wurde erfolgreich geändert.' . PHP_EOL;