FisyX Geschrieben 31. Oktober 2003 Teilen Geschrieben 31. Oktober 2003 Hallo... Ich habe ein PHPscript geschrieben mit dessen hilfe ich dateien editieren kann (z.B HTML Dateien die auf meinem Webspace liegen) Das alles läuft über eine HTML Form. Mein Problem: Er öffnet die Datei einwandfrei... ich kann Editieren ohne Problem und er speichert auch das veränderte. Doch irgendwie werden die "Anführungszeichen" mit einem / Slasch ersetzt. Wie kann ich das verhindern? Ich könnte natürlich garkeine " Verwenden doch würde die dann nichtmehr dem Standart entsprechen und was ist wenn ich ein Wort oder Satz in " Schreiben möchte? Wenn ihr etwas mit Austausch vorschlagen solltet bitte bedenkt das HTTP Adressen in der Datei die Beispielsweise so lauten könnten : http://www.test.de nicht dürch http:""www.test.de derstez werden. Hoffe auf hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 31. Oktober 2003 Teilen Geschrieben 31. Oktober 2003 Original geschrieben von FisyX Doch irgendwie werden die "Anführungszeichen" mit einem / Slasch ersetzt. Wie kann ich das verhindern? Hast du mal echo chr(34); probiert? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 31. Oktober 2003 Teilen Geschrieben 31. Oktober 2003 Es wäre nicht schlecht, wenn Du Deinen Code - zumindestens auszugsweise - posten könntest, denn evtl. hast Du ja auch irgendwo einen Fehler in demselbigen. ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 31. Oktober 2003 Autor Teilen Geschrieben 31. Oktober 2003 <?php $fhandle=fopen("$file","w+"); fwrite($fhandle,"$text"); $var=stripslashes($var ); fclose($fhandle); echo("Die Datei wurde geändert!"); exit(); ?> Das ist der Code.... Die hilfen die ich ausm Internet hab wie z.B: $var=stripslashes($var ); haben nichts geholfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 31. Oktober 2003 Teilen Geschrieben 31. Oktober 2003 Original geschrieben von FisyX [...]Doch irgendwie werden die "Anführungszeichen" mit einem / Slasch ersetzt.[...] Also wenn die ersetzt werden, wann werden die denn ersetzt? Schon bei der Übergabe an die PHP-Datei, oder erst, wenn die in die Datei geschrieben werden sollen? Vielleicht hilft es ja, den ganzen übergebenen Text einfach mitelst ' zu umschliessen oder die Zeichen per \ zu maskieren... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 31. Oktober 2003 Teilen Geschrieben 31. Oktober 2003 Original geschrieben von FisyX <?php $fhandle=fopen("$file","w+"); fwrite($fhandle,"$text"); $var=stripslashes($var ); fclose($fhandle); echo("Die Datei wurde geändert!"); exit(); ?> Ich vermute, du suchst das: <?php $fhandle=fopen("$file","w+"); $var=stripslashes($var ); fwrite($fhandle,"$var"); fclose($fhandle); ?> hth Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 1. November 2003 Autor Teilen Geschrieben 1. November 2003 die / kommen erst nach beschreiben der datei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 1. November 2003 Autor Teilen Geschrieben 1. November 2003 Entschuldigung... er macht backslaches und keine slash ! Also Ich öffne ne HTML Datei mit " drinne dann sieht die so aus wenn die per php geöffnet wurde: <html> <body> "Dies ist ein test" </body> </html> Dan klicke ich auf speichern und die datei sieht so aus: <html> <body> \"Dies ist ein test\" </body> </html> Die Datei wird mit dieser html Form angezeigt: <body> <form method="POST" action="edit.php?file=<? echo("$file"); ?>"> <textarea rows="15" name="text" cols="60"> <? include("$file"); ?> </textarea><br> <input type="submit" value="Speichern" name="saved"> </form> </body> Bisehr kam ich mit euren Vorschlägen nicht weiter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 1. November 2003 Teilen Geschrieben 1. November 2003 Hallo, dann probier doch mal das. <?php $fhandle=fopen("$file","w+"); $var=stripcslashes($var ); fwrite($fhandle,"$var"); fclose($fhandle); ?> [/php] Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 3. November 2003 Autor Teilen Geschrieben 3. November 2003 Hat nicht funktioniert.... mit deinem Script schreibt er garnix mehr in die datei Wenn ein inhalt besteht wird dieser beim abspeichern glöscht ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 3. November 2003 Teilen Geschrieben 3. November 2003 Original geschrieben von FisyX [...]Dan klicke ich auf speichern und die datei sieht so aus: [...]\"Dies ist ein test\"[...] Also wird das Anführungszeichen schonmal maskiert. Für nichts anderes ist das \ ja da da. Kannst du das nicht einfach mittels ereg_replace() bei der Ausgabe wieder rausfiltern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 3. November 2003 Teilen Geschrieben 3. November 2003 Original geschrieben von Crash2001 Also wird das Anführungszeichen schonmal maskiert. Für nichts anderes ist das \ ja da da. Kannst du das nicht einfach mittels ereg_replace() bei der Ausgabe wieder rausfiltern? natürlich wäre es viel schöner die ursache herauszufinden warum sich da die "/" einschleichen anstatt diese am schluß einfach mit ereg_replace) rauszuhauen -------- versuch das ma: <?php $fhandle=fopen($file,"w+"); fwrite($fhandle, $text); fclose($fhandle); exit("Die Datei wurde geändert!"); ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 3. November 2003 Teilen Geschrieben 3. November 2003 Original geschrieben von FisyX die / kommen erst nach beschreiben der datei Hmmm...also sieht irgendwie so aus, als ob die nciht richtig üebrgeben werden... Weil wenn ich dabei die Variable $text manuell belege mittels $text =' <html> <body> "Dies ist ein test" </body> </html>'; [/PHP] Dann schreibt der den Text auch so in die Datei wie er soll... Also wird das wohl bei der Übergabe an die Datei schon maskiert... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 5. November 2003 Autor Teilen Geschrieben 5. November 2003 Bis jetzt haben eure vielen beispielversuche nichts gebracht Bei manchen ( die ersten paar) da schreibt das script garnix mehr in die text datei und ansonsten immer wieder "\ ! Ich glaube am besten ich lasse die anführungszeichen komplett weg ..... Oder hat nicht jemand ein komplett funktionierendes script mit dem man den quelltext von html dateien anzeigen lassen und wenn gewollt auch bearbeitetn kann (sozusgen webasierend) über eine html form :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 5. November 2003 Teilen Geschrieben 5. November 2003 Hallo! Wenn dein Skript mit stripslashes gar nichts mehr schreibt, hast du einen Fehler beim einbauen gemacht. stripslashes funktioniert auf alle Fälle! Gruß Jaraz PS: weil hier schon lange rumgeraten wird ein Beispiel: <?php if(isset($_GET['file'])){ $fhandle=fopen($_GET['file'],"w+"); fwrite($fhandle, stripslashes($_POST['text'])); fclose($fhandle); echo "gespeichert<p>"; } ?> <body> <form method="POST" action="test.php?file=<?php echo("test.html"); ?>"> <textarea rows="15" name="text" cols="60"><?php include("test.html");?></textarea><br> <input type="submit" value="Speichern" name="saved"> </form> </body>[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 5. November 2003 Teilen Geschrieben 5. November 2003 Original geschrieben von FisyX <?php $fhandle=fopen("$file","w+"); fwrite($fhandle,"$text"); $var=stripslashes($var ); fclose($fhandle); echo("Die Datei wurde geändert!"); exit(); ?> Öhm, auch wenn's andere schon angedeutet haben, aber hier ist ein Logikfehler in der Abfolge: 1. Öffnen der Datei 2. Schreiben des Texts in die Datei 3. stripslashes auf $var das zum Einen nicht gefüllt ist und zum Anderen nach dem Schreiben erfolgt und somit gar nix bringen würde, auch wenn's die richtige Variable wäre 4. schliessen der Datei Daher: Try it like this: <?php $fhandle=fopen("$file","w+"); $text=stripslashes($text ); fwrite($fhandle,"$text"); fclose($fhandle); echo("Die Datei wurde geändert!"); exit(); ?> ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.