<!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>