• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Admin-Center Problem

Status
Für weitere Antworten geschlossen.

Flitztuete95

Neues Mitglied
Hallo, liebe Forumsgemeinde!
Hab mich jetzt hingesetzt, PHP Gelernt, und hab eigenlich schon alles was ich berauche, nur ich habe ein Problem: Da ich nicht immer meine Dateien Neu hochladen will, habe ich eine index.ph, die das Design macht, und aus verschiedenen Dateien schlieslich den Inhalt leist. Ich habe mir ein "Admin-Center" geschriben, wo ich die Dateien in einer TextArea bearbeiten kann, und es dann abspeichert. Nun wird leider
HTML:
<img src="Test.png">
als
HTML:
<img src=\"Test.png\">
abgespeichert! Das Admin-Centr folgendermaßen aus:
Admin.PHP
PHP:
<html>
  <body>
<?PHP
  If ($_GET["pass"] != "Passwort") {
  echo "<form action=\"admin.php\" method=\"get\">Passwort: <input type=\"text\" name=\"pass\"><br>
  Seite: <input type=\"text\" name=\"site\"><br>
  <input type=\"submit\" value=\"einloggen\">";
  }
  else{
  $site=$_GET["site"];
  echo "<form action=\"write.php\" method=\"post\"><h2>Bearbeiten</h2>
  <input type=\"text\" value=\"$site\" name=\"site\" readonly><br>
  <textarea style=\"width: 80%;height:70%;\" name=\"file\">";
  EchoFile($_GET["site"]);
  echo "</textarea><br>
  <input type=\"submit\" value=\"Speichern\"></form>";
  }
?>
  </body>
</html>

<?
  function EchoFile($name){
      $file=fopen($name,"r");
      $zeile=fgets($file,1024);
      while($zeile != "") {
      echo $zeile;
      $zeile=fgets($file,1024);
      }
  }
?>
Write.php
PHP:
<?php
    $V1 = $_POST["site"];
    $V2 = $_POST["file"];
    WriteFile($V1,$V2);
    
    function WriteFile($name,$inhalt){
    $file = fopen($name,"w");
    fwrite($file,$inhalt);
    }
?>
<a href="index.php">Index</a>
Was muss ich machen, damit es geht?

PS: Das Passwort "Passwort" hab ich aus Sicherheitsgründen geändert!
 
Zuletzt bearbeitet:
PHP: htmlspecialchars - Manual sollte dein problem lösen.

eine kleine funktion, durch die du das vor dem speichern durchschleust kann auch helfen:

PHP:
function delslashes($text)
{
    $text = str_replace("\\\"","\"",$text);
    $text = str_replace("\\\\","\\",$text);
    $text = str_replace("\\'","'",$text);
    $text = str_replace("\t","",$text);
    return $text;
}
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben