Webseiten-Editor selber coden

Dieses Thema im Forum "Offtopic" wurde erstellt von StarDrink, 27. Mai 2013.

  1. StarDrink
    Offline

    StarDrink

    Registriert seit:
    9. September 2011
    Beiträge:
    37
    Minecraft:
    StarDrink
    Huhu Zusammen,

    Ich möchte euch in diesem Tutorial zeigen, wie ihr euren komplett eigenen Editor für eure Webseite erstellt. Nützlich ist dieser, damit man Dateien nicht immer neu hochladen muss, nur weil man einen Text verändert hat.

    Was man braucht:
    - Webseite
    - Datenbank
    - FTP-Server

    Was muss ich machen?

    Schritt 1:

    - Wir legen uns eine Datenbank an, inder wir den Text speichern und wieder auslesen können:
    Field: site VARCHAR 100 | In "site" legen wir unsere Seite zum bearbeiten fest
    Field: text VARCHAR 999 | In "text" wird unser Text gespeichert, den wir im Editor angeben.




    Schritt 2:

    - Wir erstellen uns eine Datei. Bei mir heißt diese Editor.php -> damit speichern und bearbeiten wir später den Text

    In den Body-Bereich kommt nun unser PHP-Code

    PHP:
    1.  
    2.  
    3.             <form action="editor.php" method="post">   [b][COLOR="#FF8C00"]Legt die Aktion nach dem Senden des Formulars fest[/COLOR][/b]
    4.                 <p style="margin-left: 100px;">
    5.                     <select name="site">     [b][COLOR="#FF8C00"]Nur wichtig zum Auswählen der Seite[/COLOR][/b]
    6.                         <option> </option>
    7.                         <option>Home</option>
    8.                     </select>
    9.                         <input type='submit' name='search' value='Auswählen' />
    10.                 </p>
    11.             </form>
    12.             <?php
    13.                 if(isset($_POST["search"]))  [B][COLOR="#FF8C00"]Legt fest, wass passiert wenn man "Auswählen" drückt[/COLOR][/B]
    14.                 {
    15.                     $st = $_POST["site"];
    16.                     mysql_connect("SERVER", "BENUTZERNAME", "PASSWORT");[B][COLOR="#FFA500"] Erstellt Verbindung zur Datenbank[/COLOR][/B]
    17.                     mysql_select_db("DATENBANK"); [B][COLOR="#FFA500"]Wählt die Datenbank aus[/COLOR][/B]
    18.                     $sqlab = "SELECT site, text FROM editor"; [B][COLOR="#FFA500"]Lädt den vorherigen Text sowie Seite[/COLOR][/B]
    19.                     $sqlab .= " WHERE site = '$st'";
    20.                     $res = mysql_query($sqlab);
    21.                     $dsatz = mysql_fetch_assoc($res); [B][COLOR="#FFA500"] Führt den Auftrag durch[/COLOR][/B]
    22.                    
    23.                     echo "<form action='editor.php' method='post'>";
    24.                     echo "<p style='margin-left: 5px;'><textarea cols='70' rows='20' name='text'>";
    25.                     echo "" . $dsatz["text"] . "";
    26.                     echo "</textarea></p>";
    27.                     echo "<p style='margin-left: 5px;'><input type='submit' name='send' value='Text ändern'/></p>";
    28.                     echo "</form>";  [B][COLOR="#FFA500"]Erneutes Formular zum Ändern des Textes[/COLOR][/B]
    29.                 }
    30.                 else
    31.                 {
    32.                 }
    33.                
    34.                 if(isset($_POST["send"])) [B][COLOR="#FFA500"] Legt fest was passiert wenn man den Text absendet[/COLOR][/B]
    35.                 {
    36.                     mysql_connect("SERVER", "BENUTZERNAME", "PASSWORT");  [B][COLOR="#FFA500"]Verbindet erneut zur Datenbank[/COLOR][/B]
    37.                     mysql_select_db("DATENBANK"); [B][COLOR="#FFA500"]Wählt erneut Datenbank aus[/COLOR][/B]
    38.                        
    39.                         $st = $_POST["site"]; [B][COLOR="#FFA500"]Erstellt Abkürzungen für site und text, später einfacher[/COLOR][/B]
    40.                         $tx = $_POST["text"];
    41.                        
    42.                             $sqlab = "UPDATE editor Set text = '$tx'";  [B][COLOR="#FFA500"]Updated den bisherigen Text[/COLOR][/B]
    43.                            
    44.                             mysql_query($sqlab); [B][COLOR="#FFA500"]Führt den Auftrag durch[/COLOR][/B]
    45.                        
    46.                                 $num = mysql_affected_rows();
    47.                                 if ($num>0)
    48.                             {
    49.                                 echo "<p>Seite aktualisiert.</p>"; [B][COLOR="#FFA500"]Zeigt Meldungen ob erfolgreich oder nicht[/COLOR][/B]
    50.                             ?>
    51.                             <script type="text/javascript">
    52.  
    53.                                 window.location.href = "editor.php"; [B][COLOR="#FFA500"]Weiterleitung, sonst wird die Meldung von Anfang an                      gezeigt[/COLOR][/B]
    54.  
    55.                             </script>
    56.                             <?php
    57.                         }
    58.                         else
    59.                         {
    60.                             echo "<p>Seite nicht aktualisiert.</p>"; [B][COLOR="#FFA500"]Fehlermeldung falls nicht erfolgreich[/COLOR][/B]
    61.                         }
    62.                     }
    63.                     else
    64.                     {
    65.                     }
    66.                 ?>
    67.  
    68.  
    Schritt 3:

    Auf unsere Seite "Home" binden wir im Body einen PHP-Code ein, der diesen Text abfragt:


    PHP:
    1.  
    2.  
    3.             <?php
    4.                 mysql_connect("SERVER","BENUTZERNAME","PASSWORT"); [B][COLOR="#FFA500"]Verbindet zur Datenbank[/COLOR][/B]
    5.                 mysql_select_db("DATENBANK"); [B][COLOR="#FFA500"]Wählt Datenbank aus[/COLOR][/B]
    6.                
    7.                     $sqlab = "SELECT text FROM editor WHERE site = 'Home'"; [B][COLOR="#FFA500"]Fragt den Text ab[/COLOR][/B]
    8.                     $res = mysql_query($sqlab);  [B][COLOR="#FFA500"]Führt den Auftrag durch[/COLOR][/B]
    9.                     $dsatz = mysql_fetch_assoc($res);
    10.                    
    11.                         echo "<p style='margin-left: 8px;'><font face='Arial'>"
    12.                             . $dsatz["text"] . [B][COLOR="#FFA500"]Zeigt den Text an[/COLOR][/B]
    13.                     "</font></p>";
    14.             ?>
    15.  
    16.  

    Schritt 4:

    Wir fügen einen Beispiel-Text ein. Unser Editor UPDATED nur, ist kein Text vorhanden, kann er nichts updaten.

    Wir klicken in unsere Datenbank auf "Insert" oder "Einfügen". Bei Site geben wir Home an und bei Text irgendetwas, es ist wichtig das etwas da steht das unser Editor updaten kann.


    Dann sind wir auch schon fertig. Das ganze wars ;-)

    Bei Fragen könnt ihr mir eine PN schreiben.

    MFG,
    Marco
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Dein Editor läd den Text aber auch immer neu hoch und bietet keine Features wie Autocompletion oder Syntax Highlighting, außerdem haben gute IDEs sowieso eine Autoupload Funktion.
     
    #2
  3. Hecke29
    Online

    Hecke29

    Bitte benutz doch
    Code (Text):
    1. -Tags oder [PHP]Tags.
    2.  
    3. Und generell: Das heißt, wenn ich die editor.php aufrufe, kann ich einfach Texte bearbeiten ohne mich zu authentifizieren? Das ist ja super. Dann kann ich von überall darauf zugreifen :)
     
    #3
  4. StarDrink
    Offline

    StarDrink

    Registriert seit:
    9. September 2011
    Beiträge:
    37
    Minecraft:
    StarDrink
     
    #4
  5. Cabraca
    Online

    Cabraca

    So, da ich heute etwas mehr Zeit hab mal ein paar Worte von mir.
    Ich weiß nicht was du mit diesem, nennen wir es mal, Tutorial bezwecken willst aber in meinen Augen ist es einfach nur eins: Gefährlich.
    Der Code den du gepostet hast ist mehr als Fehlerhaft wie hecke schon gezeigt hat.
    Dass sich derjenige, der das Tutorial liest, selbst um die Authentifizierung kümmern muss steht auch nirgendwo.
    Du schreibst selbst "Dieser Editor ist nur für Anfänger", vergisst aber dabei, dass Anfänger keinen Weitblick haben und das so ohne Auth ins netzt Stellen.
    Das was du hier geschrieben hast ist ein Beispiel für Anfänger, ein Beispiel wie man es am besten nicht macht.
    Aus diesem Grund habe ich den Thread in den OffTopic Bereich verschoben.

    MFG Cab
     
    #5
  6. RageGuyKai
    Offline

    RageGuyKai Gesperrt

    Registriert seit:
    2. September 2013
    Beiträge:
    10
    Ort:
    /var/www/
    Minecraft:
    RageGuyKai
    Eigene Editoren sind nur für Fortgeschrittene Web-Entwickler gedacht, deshalb sollten die meisten Leute Wordpress, Joomla oder hastenichtgesehen verwenden, da diese extrem viele Funktionen haben, wie User-Verwaltung, Designs, Plugins, Widgets, usw, usw.
    Dein Code ist zwar schön und gut, spiegelt aber für mich bloß dein Können in mySQL-Schreiben und mySQL-Lesen wieder.

    Wenn ich zum Beispiel Webseiten designe, also nur Desing, keine Scripts, benutze ich Adobe Muse.
    Für die Scripts benutze ich Adobe Dreamweaver.
    Die Software habe ich natürlich gekauft, da ich zu 100% gegen cracked bin.
     
    #6