<?php

/** XSS - cross-site scripting (ochrana proti spuštění scriptu)   
 * konvertuje speciální znaky na HTML 
 * vložit ho do HTML jako < ?= htmlspecialchars($first_name);?> do values, p či h1 atd.
 * Notno ošetřit kde pomocí php zobrazuji data 
 * 
 */

global $connection;
require "assets/database.php";

/**....proměnné pro zapamatování hodnot formuláře.... */
$first_name = null;
$second_name = null;
$age = null;
$life = null;
$college = null;


if ($_SERVER ["REQUEST_METHOD"] === "POST") {

    /**....nastavení proměnných  formuláře co si má pamatovat ( html část Value.... */
    $first_name = $_POST["first_name"];
    $second_name = $_POST["second_name"];
    $age = $_POST["age"];
    $life = $_POST["life"];
    $college = $_POST["college"];

    /**....vytvoření SQL dotazu pro vložení nového žáka + ochrana proti SQL injection.... */
    $sgl = "INSERT INTO student (first_name, second_name, age, life, college)
        VALUES (?, ?, ?, ?, ?)";

    $connection = connectionDB();


    $statement = mysqli_prepare($connection, $sgl);

    if ($statement === false) {
        echo mysqli_error($connection);
    } else {
        /**..ochrana SQL injecton pomocí types (jako integer či string..*/
        mysqli_stmt_bind_param($statement, "ssiss", $_POST["first_name"], $_POST["second_name"], $_POST["age"], $_POST["life"], $_POST["college"]);
        
        /**.. provedení SQL dotazu pro vložení  žáka..*/
        if (mysqli_stmt_execute($statement)) {
            $id = mysqli_insert_id($connection);
//            echo "Úspěšně vložen žák s ID: $id";
            /**..Máš povolený https server? Pokud máš HTTPS nastavený a není vypnutý nastav header na HTTPS (!= nesmí být vypnutý)
             * else jinak nastav http:// na headeru
             * */
            if (isset($_SERVER["HTTPS"]) and $_SERVER["HTTPS"] != "off") {
                $url_protocol = "https";
            } else {
                $url_protocol = "http";
            }
            
            // localhost = $_SERVER["HTTP_HOST"];

            /**..po úspěšném vložení žáka přesměrujeme na stránku onoho žáka (relativní cesta) apsolutní by byla https://...  ..*/
//            header("location: jeden-zak.php?id=$id");   
            
            /**.. varianta apsolutní adresy kdy na webu nahradím localhost už jen adresou */
            header("location: $url_protocol://" . $_SERVER["HTTP_HOST"] . "/PHP_DS_Project/www2databaze/jeden-zak.php?id=$id");   
        } else {
            echo mysgli_stmt_error($statement);
        }
    }
}
?>
<!DOCTYPE html>
<html lang="cs">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<?php require "assets/header.php" ?>

<main>
    <section class="add-form">
        <form action="pridat-zaka.php" method="POST">
            <input type="text" name="first_name" placeholder="Křestní jméno" required value="<?= htmlspecialchars($first_name )?>">
            <br>
            <input type="text" name="second_name" placeholder="Příjmení" value="<?= htmlspecialchars($second_name) ?>" required>
            <br>
            <input type="number" name="age" placeholder="Věk" min="10" value="<?= htmlspecialchars($age)?>" required>
            <br>
            <!--  text area pamatovátko vložit mezi tagy  -->
            <textarea name="life" placeholder="Podrobnosti o žákovi" required><?= htmlspecialchars($life)?></textarea>
            <br>
            <input type="text" name="college" placeholder="Kolej" value="<?= htmlspecialchars($college) ?>" required>
            <br>
            <input type="submit" value="Přidat žáka">
        </form>

    </section>

</main>


<?php require "assets/footer.php" ?>

</body>
</html>