Stefan: Mini-CMS

Hallo.

Ich möchte mir selfmade ein Mini-CMS programmieren.
Es soll wie folgt aussehen:

Die Webseite hat einen Adminbereich. Hat sich der Admin erfolgreich eingeloggt, kann er in eine textarea Quellcode einfügen. Drückt er anschließend auf Speichern, wird der geschriebene Quellcode im Quellcode der blog.php file eingeschoben, zB unter <div id="content">.

Es geht mir, wie ihr seht, also vorerst um das Prinzip, Inhalt ohne erneutes Hochladen von Dateien zu ergänzen.

Da ich nur sehr geringe Erfahrung mit php und MySQL habe, wollte ich hier um ein Stichworte zur weiteren Recherche (etwa relevante Befehle) und Tipps zür Lösung eines solchen Vorhabens bitten.

Gerne sehe ich mir "zur Anregung" auch (einfache) fertige Lösungen an, eine eigene Realisierung ist mir aber wichtig.

Über zahlreiche Antworten würde ich mich freuen.
Einen schönen Montag Abend noch!

Es grüßt,
Stefan.

  1. moin,

    Ich möchte mir selfmade ein Mini-CMS programmieren.
    Es soll wie folgt aussehen:

    Die Webseite hat einen Adminbereich. Hat sich der Admin erfolgreich eingeloggt, kann er in eine textarea Quellcode einfügen. Drückt er anschließend auf Speichern, wird der geschriebene Quellcode im Quellcode der blog.php file eingeschoben, zB unter <div id="content">.

    Es geht mir, wie ihr seht, also vorerst um das Prinzip, Inhalt ohne erneutes Hochladen von Dateien zu ergänzen.

    Genau das ist das Prinzip! Gelegentlich wird zwischen einem Content-Management-System und einem Redaktions-System unterschieden. Was Du da vorhast, ist wohl eher ein Redaktionssystem, um WebInhalte einfach und von jedem Internet-Kaffe (Vorsicht!) aus aktualisieren zu können, hierbei brauchts keine Benutzerverwltung, Du bist alleiniger Autor.

    Prinzipiell ist jedes WebLog-Programm ein einfaches Redaktionssystem und lässt sich mit ein bischen MySQL + PHP (oder PERL) recht einfach realisieren.

    Auf jeden Fall finde ich es gut, dem Redakteur einen "Admin-Bereich" zu geben, sprich: Getrennte Scripten! Darstellung für Alle: Ein Script, Editieren für den Redakteur: Ein Script. Bei meinem Internet-Tagebuch hab ich das auch so gemacht.

    roro

    1. Hallo.
      Herzlichen Dank für die rasche Antwort.

      Genau das ist das Prinzip! Gelegentlich wird zwischen einem Content-Management-System und einem Redaktions-System unterschieden. Was Du da vorhast, ist wohl eher ein Redaktionssystem, um WebInhalte einfach und von jedem Internet-Kaffe (Vorsicht!) aus aktualisieren zu können, hierbei brauchts keine Benutzerverwltung, Du bist alleiniger Autor.

      Genau. Aber wie realisiere ich dies? Was muss ich mir über php / MySQL aneignen, um dieses zu realisieren? Nach welchen Begriffen kann ich googlen bzw. Tutorials durchforsten?

      Grüße.

      1. moin,

        Genau. Aber wie realisiere ich dies? Was muss ich mir über php / MySQL aneignen, um dieses zu realisieren? Nach welchen Begriffen kann ich googlen bzw. Tutorials durchforsten?

        Parabel:
        Du suchst eine Stadt im Thüringer Land. Wieheißt sie? Du hast sie genannt!

        Lösung: die Stadt heißt Wiehe.

        Abstrakt: google nach php, mysql.

        Ferner nach: blog, gästebuch, dynamic content, cgi, cgi, cgi...

        CGI?: Common Gateway Interface. Schnittstelle vom WebBrowser über Protokoll HTTP/HTTPS zum WebServer und serverseitigen Programmen/Scripts.

        Ermöglicht Eingaben von Benutzern, die serverseitig verarbeitet werden. Serverseitige Datenhaltung auch. So wie Hier

        --roro

  2. Gerne sehe ich mir "zur Anregung" auch (einfache) fertige Lösungen an, eine eigene Realisierung ist mir aber wichtig.

    selbst ist der mann (die frau, je nachdem), recht so - dann gibts gleich mal ein paar kleine snippets als denkanstoss fuer ein kleines, vernuenftiges login

    index.php
     <form action="check.php" method="post">
      <input name="user" type="text" />
      <input name="pass" type="password" />
      <input type="submit" value="Anmelden" />
     </form>

    check.php
     if (empty($user)) || (empty($pass)) {
         header("LOCATION: index.php");
     } else {
     // mysql verbindung
     $query = "SELECT * FROM user_table WHERE user ='$user'";
     // mysql result erzeugen
     }

    if($pass != $pass) {
            header("LOCATION: index.php");
     } else {
     session_start();
     $_SESSION['user'] = $user;
     header("LOCATION: index2.php");
     }

    das ganze ist stark vereinfacht (keine fehlermeldungen, unverschluesseltes klartextpassword usw)

    ob man nun die session selbst erzeugt und im url mitgibt und ein session-cookie setzt, dessen wert man in die datenbank schreibt und spaeter wieder zurueckliest und vergleich oder wie auch immer bleibt dir ueberlassen - man muss nur sicherstellen, dass die session nach einer gewissen zeit ablaeuft und nicht von aussen manipuliert werden kann (idealerweise ip-abhaengig gestalten, dh ip, session startzeit usw in eine sessiontabelle schreiben und dann wieder lesen)

    auf "index2.php" muss ansich nur noch geprueft werden, ob eine session vorhanden ist - wenn nicht (dann wurde auch kein login durchgefuehrt) -> zurueck zur index seite

  3. Hallo Stefan,

    Drückt er anschließend auf Speichern, wird der geschriebene Quellcode im Quellcode der blog.php file eingeschoben, zB unter <div id="content">.

    Du möchtest also direkt aus einer Datei lesen und in eine Datei schreiben - dann schaue Dir mal diese Funktionen und die aufgezeigten Beispiele an: fopen, fread, fwrite

    Eine andere Variante wäre, die veränderlichen Daten in einer Datenbank (MySQL) abzulegen und vom PHP-Skript ausgeben bzw. ändern zu lassen. Hier könnten dann http://de.php.net/manual/de/function.mysql-connect.php@mysql_connect und mysql_query Deine Recherche-Ausgangspunkte sein.

    Alex

    1. ...sorry, ich meinte: mysql_connect, und mysql_query.

      Alex

  4. Hellihello,

    php kennt auch noch file_get_contents und file_put_contents sowie serialize und unserialize.

    So lassen sich zum Beispiel komplette Arrays (von Einträgen) speichern.

    Dank und Gruß,

    frankx