The following files exists in this folder. Click to view.
create_ladder.php75 lines ASCII Windows (CRLF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
<?php
require "auth.php";
require "database.php";
require "functions.php";
requireLogin();
$error = "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
if (!$_POST["ladder_name"]) {
$error = "Ladder name required";
} else {
$conn->beginTransaction();
$inviteCode = generateInviteCode();
try {
// Create ladder
$stmt = $conn->prepare(
"INSERT INTO Ladder (LadderName, OwnerPlayerID, InviteCode)
VALUES (?, ?, ?)"
);
$stmt->execute([
$_POST["ladder_name"],
$_SESSION["player_id"],
$inviteCode
]);
$ladderID = $conn->lastInsertId();
// Add creator to ladder
$stmt = $conn->prepare(
"INSERT INTO LadderPlayers (PlayerID, LadderID)
VALUES (?, ?)"
);
$stmt->execute([
$_SESSION["player_id"],
$ladderID
]);
$conn->commit();
header("Location: ladder.php?id=" . $ladderID);
exit;
} catch (Exception $e) {
$conn->rollBack();
$error = "Something went wrong";
die("ERROR: " . $e->getMessage());
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Create Ladder</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<h2>Create Ladder</h2>
<?php if ($error): ?>
<div class="alert alert-danger"><?= $error ?></div>
<?php endif; ?>
<form method="POST">
<input class="form-control mb-2" name="ladder_name" placeholder="Ladder name">
<button class="btn btn-success">Create</button>
<a href="dashboard.php" class="btn btn-secondary">Cancel</a>
</form>
</div>
</body>
</html>