PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : komisches \ nach datei schreiben bei "



Ahahn
27-05-2005, 00:27
hallo!
ich hab folgendes problem:
wenn ich über dieses html frontend irgendwelche zeichen eingebe und danach speichere funktioniert alles ohne probleme und wird ganz normal danach angezeigt.
wenn ich allerdings ein


"
oder


\

eingebe bekomme ich nach dem aufruf der gespeicherten datein noch jeweils ein weiteres \ davor geschrieben.

das istd er code um den es sich handelt:




//Datei editieren.

if ("edit"==$_GET[action]){
$file = fopen($_GET[page], 'r');
$dateiinhalt=fread($file, filesize ($_GET[page]));
fclose($file);
echo "<form method=\"post\" action=\"editcontent.php?page=$_GET[page]&action=save&name=$_GET[name]\">
File:$_GET[page] <br> <textarea input=\"submit\" name=\"text\" cols=\"70\" rows=\"25\"value=>$dateiinhalt</textarea><br>";
echo"<input =submit type=\"Submit\" value=\"SAVE\">";
}


//Datei speichern

if ("save"==$_GET[action]){
include("adminvar.php");
chdir(getcwd()."/administration");
$file = fopen($_GET[name], 'w+');
fwrite($file,$HTTP_POST_VARS['text'] );
fclose($file);

//Datei ins Inhaltsverzeichnic nach bearbeitung verschieben

$open=ftp_connect($ftpserver);
ftp_login($open, $ftpusr, $ftppass);
ftp_chdir($open,$ftppagedir."/administration");
$ziel="../".strstr($_GET[page],$inhaltsordner);
$succes=ftp_rename($open,$_GET[name],$ziel);
if($succes){echo"<br>File $_GET[name] saved!<br>";}
}


ich werde wohl wahrscheinlich irgendwas im zusammenhang mit der besonderen funktion von " \ übersehen haben würde ich vermuten. leider blicke ich grad nicht wirklich durch. deswegen danke schonmal im voraus für etwaige hilfe.
mfg ahahn

Gaert
27-05-2005, 10:00
Hallo ahahn,

du stolperst über "Magic Quotes" - http://www.php.net/magic_quotes

Gruß,

Gaert

Ahahn
27-05-2005, 12:37
ah danke für den hinweis.
nach einiger lektüre bin ich zu der erkenntnis gekommen das mein problem theoretisch mit der änderung von:

fwrite($file,$HTTP_POST_VARS['text'] );
in

fwrite($file,stripslashes($HTTP_POST_VARS['text'] ));
erziehlen müsste. allerdings ändert das abändern nichts an dem problem obwohl es, falls ich diesen text über stripslashes (http://de2.php.net/manual/en/function.stripslashes.php) richtig verstanden habe, so gehen müsste.

jetzt stellt sich mir die frage: woran leigt es blos?! :confused: