summaryrefslogtreecommitdiff
path: root/create_topic.php
diff options
context:
space:
mode:
Diffstat (limited to 'create_topic.php')
-rw-r--r--create_topic.php99
1 files changed, 0 insertions, 99 deletions
diff --git a/create_topic.php b/create_topic.php
deleted file mode 100644
index 278d0fa..0000000
--- a/create_topic.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-include_once 'header.php';
-
-echo '<section><h2>Create a new topic</h2>';
-
-if (!isset($_SESSION['signed_in'])) {
- die('You must be <a href="signin.php">signed in</a> to create a topic.');
-}
-?>
-
-<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
- <label for="topic_subject">Subject: </label><br>
- <input type="text" name="topic_subject"><br>
- <label for="topic_cat">Category: </label><br>
- <?php
- include_once 'includes/db_inc.php';
-
- $sql = "SELECT cat_id, cat_name, cat_description FROM categories";
- $result = mysqli_query($dbc, $sql);
-
- if (!$result) {
- die('Error trying to fetch category list: ' . mysqli_error($dbc));
- }
-
- if (mysqli_num_rows($result) == 0) {
- die('There are currently no categories to post to.');
- }
-
- echo '<select name="topic_cat">';
-
- while ($row = mysqli_fetch_assoc($result)) {
- echo '<option value="' . $row['cat_id'] . '">' . $row['cat_name'] . '</option>';
- }
-
- echo '</select><br>';
- ?>
- <label for="post_content">Write your post: </label><br>
- <textarea name="post_content"></textarea><br>
- <input type="submit" name="submit">
-</form>
-</section>
-
-<?php
-include_once 'includes/db_inc.php';
-
-function create_topic($dbc, $topic_subject, $topic_cat, $topic_author) {
- $sql = "INSERT INTO topics(topic_subject, topic_date, topic_cat, topic_author) VALUES(?, NOW(), ?, ?);";
- $stmt = mysqli_stmt_init($dbc);
-
- if (!mysqli_stmt_prepare($stmt, $sql)) {
- die('Could not create topic due to internal error: ' . mysqli_error($dbc));
- }
-
- mysqli_stmt_bind_param($stmt, "sii", $topic_subject, $topic_cat, $topic_author);
- mysqli_stmt_execute($stmt);
- mysqli_stmt_close($stmt);
-}
-
-function create_post($dbc, $post_content, $post_topic, $post_author) {
- $sql = "INSERT INTO posts(post_content, post_date, post_topic, post_author) VALUES(?, NOW(), ?, ?);";
- $stmt = mysqli_stmt_init($dbc);
-
- if (!mysqli_stmt_prepare($stmt, $sql)) {
- die('Could not create topic due to internal error: ' . mysqli_error($dbc));
- }
-
- mysqli_stmt_bind_param($stmt, "sii", $post_content, $post_topic, $post_author);
- mysqli_stmt_execute($stmt);
- mysqli_stmt_close($stmt);
-}
-
-function validate($data) {
- $data = trim($data);
- $data = stripslashes($data);
- $data = htmlspecialchars($data);
- return $data;
-}
-
-if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- $post_content = validate($_POST['post_content']);
- $topic_subject = validate($_POST['topic_subject']);
- $topic_cat = validate($_POST['topic_cat']);
- $user_id = validate($_SESSION['user_id']);
-
- create_topic($dbc, $topic_subject, $topic_cat, $user_id);
- $topic_id = mysqli_insert_id($dbc);
- create_post($dbc, $post_content, $topic_id, $user_id);
-
- if (!$post_result) {
- echo 'An error occurred creating your post: ' . mysqli_error($dbc);
- }
-
- header("Location: topic.php?id=" . $topic_id);
-}
-
-?>
-
-<?php include_once 'footer.php';?> \ No newline at end of file