Aus extarea in File schreiben?

mhribernik

Erfahrenes Mitglied
Hallo!

In meinem Code hab ich ein Textfeld und eine <textarea> in die man PHP Code eingibt, der nach dem drücken auf einen "submit" via PHP in ein File mit dem Namen der Textfeldeingabe geschrieben wird.

Jedoch wird wenn ich so was in die textarea schreibe:

PHP:
<?
echo "Hallo Welt!";
?>

im File so niedergeschrieben:

PHP:
<?
echo 
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /usr/export/www/vhosts/funnetwork/hosting/zlom/new/editor2.php on line 44
"Hallo Welt!\";
?>

Wo liegt der Fehler?

Ach ja, mein Quellcode: (recht primitiv)

PHP:
<?
if (!empty($_POST['title']) and !empty($_POST['text']) and !empty($_POST['send']))
{
	$datei = $_POST['title'];
	$text = $_POST['text'];
	$dz = fopen($datei, "w");
	fwrite($dz, $text);
	fclose($dz);
	
	header(...
}
?>

<form method="post" action="editor.php"><br>
<input type="text" name="title" /><br>
<textarea style="width: 600px; height: 600px" name="text"></textarea>
<input type="submit" value="ok" name="send" />
</form>

Danke im Voraus
 
Probier mal Folgendes:
PHP:
<?php

	if( !empty($_POST['send'])&& !empty($_POST['title']) && !empty($_POST['text']) ) {
		file_set_contents(basename($_POST['title']), $_POST['text']);
		…
	}

?>
 
Was bewirkt diese Zeile?

PHP:
file_set_contents(basename($_POST['title']), $_POST['text']);


Bei mir spuckt er nen Fehler aus, das er die Funktion "file_set_contents" nicht findet.

Fatal error: Call to undefined function: file_set_contents() in /usr/export/www/vhosts/funnetwork/hosting/zlom/new/editor.php on line 3

Bitte um Erklärung.
 
Zuletzt bearbeitet:
Ich bekomme nach klicken auf den button folgende Meldung:

Fatal error: Call to undefined function: file_put_contents() in /usr/export/www/vhosts/funnetwork/hosting/zlom/new/editor.php on line 3

Woran liegt das?

in die Textbox hab ich neu.php eingegeben und in die Textarea den zu schreibenden PHP-Code.

Wo liegt der Fehler?
 
Mhm wenn man so in die Manual steht , steht unter file_put_contents() in Klammern (php5) , daher denke ich mal das diese Funktion nur in PHP 5 existiert.

Ehm poste doch mal den kompletten Quellcode , da sehe ich momentan keinen Fehler auch nicht 44 Zeilen.

Was ich mir denken könnte , schreibe immer <?php statt <? eventuell liegt es schon daran.
 
Mein Quellcode sieht volgender Maßen aus:

editor.php:
PHP:
<?
if (!empty($_POST['title']) and !empty($_POST['text']) and !empty($_POST['send']))
{
    $datei = $_POST['title'];
    $text = $_POST['text'];
    $dz = fopen($datei, "w");
    fwrite($dz, $text);
    fclose($dz);
    
    header("Location: index.php");
}
?>

<form method="post" action="editor.php"><br>
<input type="text" name="title" /><br>
<textarea style="width: 600px; height: 600px" name="text"></textarea>
<input type="submit" value="ok" name="send" />
</form>

Die Seite könnt Ihr hier aufrufen!
Das eintrage geht ja noch, jedoch das aufrufen nicht!

Wenn ich dies in die Textarea eintippe :

PHP:
<?
$var = "Hallo Welt";
echo $var;
?>

und dannach die neu erzeugte Seite aufrufe, kommt folgende Meldung:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /usr/export/www/vhosts/funnetwork/hosting/zlom/new/folo.php on line 2

Parse error: parse error, unexpected $ in /usr/export/www/vhosts/funnetwork/hosting/zlom/new/folo.php on line 4

Und der Quellcode der neu erzeugten Datei sieht dann so aus:


$var = \"Hallo Welt\";
echo $var;
?>

Wie mann sieht stören die Backslashes (Escapes)!!

Wie krieg ich das ganze zum Laufen?
mfg.
 
Zuletzt bearbeitet:
Habs nun geschafft
so siehts nun aus:

PHP:
<?
if (!empty($_POST['title']) and !empty($_POST['text']) and !empty($_POST['send']))
{
    $datei = $_POST['title'];
    $text = stripcslashes($_POST['text']);
    $dz = fopen($datei, "w");
    fwrite($dz, $text);
    fclose($dz);
    
    header("Location: index.php");
}
?>

<form method="post" action="editor.php"><br>
<input type="text" name="title" /><br>
<textarea style="width: 600px; height: 600px" name="text"></textarea>
<input type="submit" value="ok" name="send" />
</form>

Und es klappt sogar!!

Danke euch allen!
Mit freundlichen Grüßen,
Marko Hribernik
 
Zurück