PHP: Vlastní redakční systém

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);
    }

?>

Přílohy

Napsat komentář