Využili jsme předchozí úlohy pro zaheslování obsahu webu. Do zaheslované sekce jsme vložili formulář, který si načítá stav obsah patřičného záznamu z databáze. Následně lze odeslat prvek <textarea> a provést aktualizaci v databázi.
if(isset($_POST['editor']))
{
$vstup=$_POST['editor'];
$query5="UPDATE data_cms SET data='".$vstup."' WHERE id=1";
mysqli_query($connector,$query5);
}
/*tajná sekce*/
$query4='SELECT * FROM data_cms WHERE id=1';
$sqldata4=mysqli_query($connector,$query4);
$sqldata4=mysqli_fetch_array($sqldata4);
echo('<h1>Administrace</h1>');
echo('<a href="login.php?logout=1">Odhlásit</a>');
echo('<hr>');
echo('<form method="post" action="login.php">');
echo('<textarea name="editor" style="width:100%;height:100px;" id="summernote">'.$sqldata4['data'].'</textarea>');
echo('<br><input type="submit" value="Uložit">');
echo('</form>');
/*konec tajné sekce*/
/*Následuje zpracování formuláře*/
Rovněž jsme si vylepšili formulář a udělali jsme z textového pole vizuální editor pomocí CDN online služby Summernote
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.js"></script>
<script>
$('#summernote').summernote({
placeholder: 'Hello stand alone ui',
tabsize: 2,
height: 300,
toolbar: [
['style', ['style']],
['font', ['bold', 'underline', 'clear']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['table', ['table']],
['insert', ['link', 'picture', 'video']],
['view', ['fullscreen', 'codeview', 'help']]
]
});
</script>
<?php
$query4='SELECT * FROM data_cms WHERE id=1';
$sqldata4=mysqli_query($connector,$query4);
$sqldata4=mysqli_fetch_array($sqldata4);
echo($sqldata4['data']);
?>
Pro připojení k databázi a rychlou instalaci systému, jsme si vytvořili soubor config.php. Ten zajistí prvotní vytvoření databázové tabulky při prvním spuštění webu. Soubor je ve všech souborech PHP metodou includován.
<?php
$connector=mysqli_connect('127.0.0.1','root','vertrigo','ucitel');
if(!$connector){echo('Není připojena databáze!');}
/*vytvoření tabulky*/
$query='CREATE TABLE data_cms(id INT AUTO_INCREMENT UNIQUE, data LONGTEXT NULL, cas TIMESTAMP)';
mysqli_query($connector,$query);
$query3='SELECT * FROM data_cms';
$test=mysqli_query($connector,$query3);
if(mysqli_num_rows($test)==0)
{
$query2='INSERT INTO data_cms(data) VALUES("<b>Ahoj světe</b>")';
mysqli_query($connector,$query2);
}
?>
