• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash und Server > Server-Seite allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-09-2006, 15:36   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 31
Datei online mittels PHP bearbeiten -> Fügt automatisch Backslashes an!

Hallo,

mittels zweier Dateien, die ich vor einiger Zeit auf einer Seite gefunden habe, konnte ich einfache Texte aus TXT-Dateien öffnen und abspeichern. Alles online, alles PHP. Der Folder war mit htaccess geschützt -> Klappte wunderbar!

Nun möchte ich eine XML Datei bearbeiten. Diese enthält Anführungszeichen und einfache Anführungszeichen. Leider setzt edit.php automatisch vor jedes Anführungszeichen ein Backslash beim abspeichern.

Wie schaffe ich es, dass der Inhalt genau so abgespeichert wird wie ich ihn eingebe ohne eigene (wohl sicherheitsrelevanten) Zeichen?

index.php
PHP-Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>einfacher online editor</title>
</head>
<body>
<?php
// Variablen ordentlich initialisieren


if (!isset($_POST['text0'])) $_POST['text0'] = "";



    
$fp fopen("inhalt.xml""r");
    if (
$fp)
    {
        
$_POST['text0'] = '';
        while(!
feof($fp))
        {
            
$_POST['text0'] .= fgets($fp);
        }
        
fclose($fp);
    }



?>


Auszug aus der XML-Datei:<br>
<textarea name="text0" rows="10" cols="80"><?php echo $_POST['text0'?></textarea><br>

<A href="edit0.php">Diese Datei jetzt bearbeiten</A>


</body>
</html>
edit0.php
PHP-Code:
<?php
header 
("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");                          // HTTP/1.0
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>online bearbeiten</title>
</head>
<body>
<?php
// Variablen ordentlich initialisieren


if (!isset($_POST['text'])) $_POST['text'] = "";



if (isset(
$_POST['submit']))
{
    
// Text in Textdatei ablegen
    
$fp fopen("inhalt.xml""w");
    if (
$fp)
    {
        
fputs($fp$_POST['text']);
        
fclose($fp);
        echo 
"XML-Datei wurde gespeichert. Bitte in der Anwendung online testen!<br><br>";
    } else {
        echo 
"Fehler: kann XML-Datei nicht öffnen<br>";
    }
   


    echo 
'<a href="'.$_SERVER['PHP_SELF'].'">Erneut bearbeiten<br></a>';

    echo 
'<a href="index.php">Zurück zur Auswahlseite</a>';


} else {
    
$fp fopen("inhalt.xml""r");
    if (
$fp)
    {
        
$_POST['text'] = '';
        while(!
feof($fp))
        {
            
$_POST['text'] .= fgets($fp);
        }
        
fclose($fp);
    }
?>
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="POST" enctype="multipart/form-data">
<textarea name="text" rows="50" cols="100"><?php echo $_POST['text'?></textarea><br>
<input type="submit" name="submit" value="speichern">
</form>
<?php
}
?>
</body>
</html>
ChipChip ist offline   Mit Zitat antworten
Alt 05-09-2006, 15:37   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.598
Auf dem Server is magic quotes an.
--> stripslashes()
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 06-09-2006, 19:21   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 31
Zitat:
Zitat von sonar
Auf dem Server is magic quotes an.
--> stripslashes()
Vielen Dank für den Tipp! Habe einige Seiten dazu gefunden mit verschiedensten Lösungsmöglichkeiten, die alle je nach Zweck total unterschiedlich sind. Ist es hier im Forum unverschämt, wenn man nach etwas mehr Hilfe in diesem konkreten Fall bittet?
ChipChip ist offline   Mit Zitat antworten
Alt 06-09-2006, 19:25   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.598
Hast du auf den Link von mir geklickt? Das sollte doch eigentlich eine relativ narrensichere Erklärung sein...
http://de3.php.net/manual/de/function.stripslashes.php

PHP-Code:
echo stripslashes($_POST['text']); 
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 06-09-2006, 19:43   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 31
Zitat:
Zitat von sonar
Hast du auf den Link von mir geklickt? Das sollte doch eigentlich eine relativ narrensichere Erklärung sein...
http://de3.php.net/manual/de/function.stripslashes.php

PHP-Code:
echo stripslashes($_POST['text']); 
Klar!! Wenn ich in der Zeile, wo edit.php die Datei abspeichert, stripslashes anfüge, dann geht es! Vielen lieben Dank :-)

Falls es jemand braucht:
PHP-Code:

if (isset($_POST['submit']))
{
    
// Text in Textdatei ablegen
    
$fp fopen("inhalt.xml""w");
    if (
$fp)
    {


        
fputs($fp,  stripslashes($_POST['text']));
        
fclose($fp);
        echo 
"XML-Datei wurde gespeichert. Bitte in der Anwendung online testen!<br><br>";
    } else {
        echo 
"Fehler: kann XML-Datei nicht öffnen<br>";
    } 
Nochmals Danke!
ChipChip ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele