<!DOCTYPE html>
<html lang="fr">
<head>
    <title>Mon Blog</title>
    <style>
        body { font-family:sans-serif; font-size:10px; }
        .comments { margin-top : 2rem; }
    </style>
</head>
<body>
    <h1>Mon Blog</h1>
    <!-- article -->
    <article>
        <?php 
            // utliser mysqli pour se connecter à la base de donnée
            // pour mémoire  https://www.php.net/manual/fr/book.mysqli.php

            // se connecter
            // à savoir par défait sur une installation xampp
            // l'utilisateur "root" est définit avec un mot de passe vide
            // https://www.php.net/manual/fr/mysqli.quickstart.connections.php
            $mysqli = new mysqli("localhost", "root", "", "b1bak");
            // si une erreur se produit alors un numero d'erreur est intialisé
            if ($mysqli->connect_errno) {
                echo "Échec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
            }
            //sinon on est connecté
            else {
                echo "connecté à ";
            }
            echo $mysqli->host_info . "\n";

            // aller chercher le premier article dans la table article
            // SELECT * FROM `article` 
            // appeler la méthode query de mysqli
            // https://www.php.net/manual/fr/mysqli.quickstart.statements.php
            $resultat = $mysqli->query('SELECT * FROM `article`');
            // récupérer le premier l'article.
            $ligne_de_resultat = $resultat->fetch_array(MYSQLI_ASSOC);
            // afficher en deboguage mon resultat
            /*
            echo "<pre>";
            print_r($ligne_de_resultat);
            echo "</pre>";
            */
            // afficher l'article
        ?>
        <h2><?php echo $ligne_de_resultat['titre']; ?></h2>
        <p><?php echo $ligne_de_resultat['contenu']; ?></p>
        <footer class="date">publié le <?php echo $ligne_de_resultat['date']; ?></footer>
    </article>
    <pre>
        <?php 
            //print_r($_POST);
            // si le pseudo n'est pas déifnit l'intialiser à vide
            $pseudo = "";
            $erreur_pseudo = false;
            // sinon récupérer le pseudo
            if(!empty($_POST['pseudo']))
            { 
                $pseudo = $_POST['pseudo']; 
            }
            //si le champs est vide mais initialisé alors c'est une erreur
            elseif(isset($_POST['pseudo'])) 
            {
                $erreur_pseudo = true;
            }
            // si l'email n'est pas déifnit l'intialiser à vide
            $email = "";
            $erreur_email = false;
            // sinon récupérer l'email
            if(!empty($_POST['courriel']))
            { 
                $email = $_POST['courriel']; 
                //vérrifier avec une expression rationnelle que c'est bine un email
                // version compliquée :^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$
                if(!preg_match('/^[a-zA-Z0-9]+@[a-zA-Z0-9-_]+\.[a-zA-Z0-9]+$/',$email)) {
                    $erreur_email = true;
                }
            }
            // si le commentaire n'est pas déifnit l'intialiser à vide
            $commentaire = "";
            // sinon récupérer le commentaire
            if(!empty($_POST['commentaire']))
            { 
                $commentaire = $_POST['commentaire']; 
                // s'assurer qu'il n y'a pas de script ou d'attaque dedans
                //$commentaire = htmlentities($commentaire);
                $commentaire = strip_tags($commentaire);
                //print_r($commentaire);
            }
        ?>
    </pre>
    <div class="comments">
        <form action="" method="post">
            <label for="pseudo">votre pseudo</label>
            <br/>
            <?php 
                if($erreur_pseudo) 
                {
                    echo "<div class='error'>Vous devez saisir un pseudo</div>";
                }
            ?>
            <input type="text" required 
                id="pseudo" 
                name="pseudo"
                value="<?php echo $pseudo; ?>" />
            <br/>
            <label for="courriel">votre courriel</label>
            <br/>
            <?php 
                if($erreur_email) 
                {
                    echo "<div class='error'>Vous devez saisir un email valide</div>";
                }
            ?>
            <input type="email" id="courriel"
                 name="courriel"
                 value="<?php echo $email; ?>" />
            <br/>
            <label for="commentaire">votre commentaire</label>
            <br/>
            <textarea required 
              id="commentaire" name="commentaire"><?php 
              echo $commentaire; 
              ?></textarea>
            <br/>
            <button type="submit">envoyer</button>        
        </form>
    </div>
</body>
</html>