You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
3.6 KiB

<!DOCTYPE html>
<html lang="fr">
<?php
// var titre_de_la_page : chaine;
// titre_de_la_page = "Administration du Blog";
$titre_de_la_page = "Administration du Blog";
$class_de_la_page = "admin";
//si on ne veut pas avoir un affichge de message d'erreur on peut commencer la ligne par @
@ $mysqli = new mysqli("localhost", "root", "", "b1bak");
if ($mysqli->connect_errno) {
$class_de_la_page = "error";
}
?>
<head>
<title><?php echo $titre_de_la_page ?></title>
<style>
body { font-family:sans-serif; font-size:10px; }
.error { background-color:#FFCC99;}
.success { background-color:#99FF99;}
</style>
</head>
<body class="<?php echo $class_de_la_page; ?>">
<h1><?php echo $titre_de_la_page ?></h1>
<?php
// vérification des saisies
$titre_de_article = "";
$contenu_de_article = "";
$erreur_de_soumission = false;
if(!empty($_POST['titre'])) {
$titre_de_article = $_POST['titre'];
}
elseif(isset($_POST['titre'])) {
$erreur_de_soumission = true;
}
if(!empty($_POST['contenu'])) {
$contenu_de_article = $_POST['contenu'];
}
elseif(isset($_POST['contenu'])) {
$erreur_de_soumission = true;
}
if($erreur_de_soumission) {
echo "<div class='error'>Il manque quelque chose ! </div>";
}
elseif(!empty($titre_de_article)) {
$sql = "INSERT INTO `article` (`id_article`, `titre`, `contenu`, `date`)
VALUES (NULL, ?, ?, NOW()); ";
$requete = $mysqli->prepare($sql);
//https://www.php.net/manual/en/mysqli-stmt.bind-param.php
$requete->bind_param('ss',$titre_de_article,$contenu_de_article);
$resultat = $requete->execute();
if($resultat) {
echo "<div class='success'>Article enregistré !</div>";
$titre_de_article = "";
$contenu_de_article = "";
}
else {
echo "Error description: " . $mysqli -> error;
echo $sql;
}
}
?>
<form action="" method="post">
<label for="titre">le titre</label>
<br/>
<input type="text" required
id="titre"
name="titre" value="<?php echo $titre_de_article ?>" />
<br/>
<label for="contenu">le contenu</label>
<br/>
<textarea required
id="contenu" name="contenu"><?php echo $contenu_de_article; ?></textarea>
<br/>
<button type="submit">envoyer</button>
</form>
<?php
// 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;
}
else
{
$resultat = $mysqli->query('SELECT * FROM `article`');
echo "<br/>".$resultat->num_rows." articles dans la base";
while ( $ligne_de_resultat = $resultat->fetch_array(MYSQLI_ASSOC) )
{
echo "<h2>".$ligne_de_resultat['titre']."</h2>";
}
}
?>
</body>
</html>