Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
include 'db_conn.php';
$list_title = $_POST['list-name'];
$original_language = $_POST['language'];
$user_id = $_SESSION['user_id'];
$color = $_POST['color'];
$publicity = $_POST['publicity'];
$words_array = $_POST['words'];
$translations_array = $_POST['translations'];
$conn->begin_transaction();
try {
$sql = "INSERT INTO e_learning_lists (list_title, original_language, user_id, color, publicity)
VALUES (?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssiss", $list_title, $original_language, $user_id, $color, $publicity);
$stmt->execute();
$list_id = $conn->insert_id;
for ($i = 0; $i < count($words_array); $i++) {
$word = $words_array[$i];
$translation = $translations_array[$i];
if (empty($word) || empty($translation)) continue;
$word_sql = "INSERT INTO e_learning_words (list_id, word_text, word_order) VALUES (?, ?, ?)";
$word_stmt = $conn->prepare($word_sql);
$word_stmt->bind_param("isi", $list_id, $word, $i);
$word_stmt->execute();
$word_id = $conn->insert_id;
$trans_sql = "INSERT INTO e_learning_translations (word_id, translation_text) VALUES (?, ?)";
$trans_stmt = $conn->prepare($trans_sql);
$trans_stmt->bind_param("is", $word_id, $translation);
$trans_stmt->execute();
$word_stmt->close();
$trans_stmt->close();
}
$conn->commit();
header("Location: index.php");
exit();
} catch (Exception $e) {
$conn->rollback();
echo "Error: " . $e->getMessage();
}
$stmt->close();
$conn->close();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta author="Rick Deurloo">
<meta name="description" content="Website description">
<meta name="keywords" content="Website keywords">
<link rel="stylesheet" href="https://site-assets.fontawesome.com/releases/v6.7.2/css/all.css">
<link rel="stylesheet" href="https://site-assets.fontawesome.com/releases/v6.7.2/css/sharp-thin.css">
<link rel="stylesheet" href="https://site-assets.fontawesome.com/releases/v6.7.2/css/sharp-solid.css">
<link rel="stylesheet" href="https://site-assets.fontawesome.com/releases/v6.7.2/css/sharp-regular.css">
<link rel="stylesheet" href="https://site-assets.fontawesome.com/releases/v6.7.2/css/sharp-light.css">
<link rel="stylesheet" href="./styles/dist/css/style.css">
<link rel="icon" href="./assets/favicon-en.png" data-translate-image="favicon">
<title data-translate="createListTitle">English E-learning | Create list</title>
</head>
<body class="list-body">
<?php include './php-components/header.php'; ?>
<main>
<form action="create-list.php" method="post">
<h1 data-translate="createTitleForm">Create new list</h1>
<div class="publicity-wrapper">
<span data-translate="publicOption">Public</span>
<input type="radio" name="publicity" id="public" value="public" checked>
<span data-translate="privateOption">Private</span>
<input type="radio" name="publicity" id="private" value="private">
</div>
<div class="input-wrapper">
<input data-translate-placeholder="listName" type="text" name="list-name" id="list-name" placeholder="Listname..." required autocomplete="off">
</div>
<div class="language-wrapper">
<span data-translate="EnterLanguage">Select the original language:</span>
<div class="radios">
<label for="english-radio">English</label>
<input type="radio" name="language" id="english-radio" value="en" checked>
<label for="dutch-radio">Nederlands</label>
<input type="radio" name="language" id="dutch-radio" value="nl">
</div>
</div>
<div class="color-wrapper">
<span data-translate="pickColor">Pick a color:</span>
<div class="radio-wrapper">
<input type="radio" name="color" id="yellow" value="hsl(39, 100%, 65%)" checked>
<input type="radio" name="color" id="orange" value="hsl(27, 100%, 65%)">
<input type="radio" name="color" id="lightgreen" value="hsl(66, 43%, 65%)">
<input type="radio" name="color" id="turquoise" value="hsl(142, 34%, 55%)">
<input type="radio" name="color" id="darkgreen" value="hsl(151, 38%, 65%)">
<input type="radio" name="color" id="blue" value="hsl(194, 40%, 65%)">
<input type="radio" name="color" id="pink" value="hsl(347, 89%, 75%)">
<input type="radio" name="color" id="darkpink" value="hsl(335, 100%, 65%)">
<input type="radio" name="color" id="purple" value="hsl(305, 44%, 65%)">
<input type="radio" name="color" id="lavender" value="hsl(237, 45%, 65%)">
</div>
</div>
<div id="word-wrapper-container">
<div class="word-wrapper">
<input data-translate-placeholder="word" type="text" name="words[]" placeholder="Word..." required autocomplete="off">
<div class="separator"></div>
<input data-translate-placeholder="translationWord" type="text" name="translations[]" placeholder="Translation..." required autocomplete="off">
</div>
</div>
<div class="add-remove-wrapper">
<span id="add-more" class="add-more" data-translate="addMore">Add more +</span>
<span id="removeItems" class="remove-items" data-translate="removeItems">Remove -</span>
</div>
<button class="submitCreate" type="submit" data-translate="submitCreate">Create</button>
</form>
</main>
<script src="./js/general.js"></script>
<script src="./js/translation.js"></script>
<script src="./js/add-code.js"></script>
</body>
</html>