Einzelnen Beitrag anzeigen
Alt 23.06.2005, 15:06   #16 (permalink)
smoek
Stickstoff Junkie
 
Benutzerbild von smoek
 

Registriert seit: 26.10.2003
Beiträge: 3.588

smoek sorgt für eine eindrucksvolle Atmosphäresmoek sorgt für eine eindrucksvolle Atmosphäre

Standard AW: brauche hilfe mit PHP

Du hast ja den kompletten HTML-Code schon in das Textfile geschrieben.. das ist keine sehr gute Lösung !
Die Editierbarkeit geht dadurch so ziemlich verloren, und sehr guter Stil ist das auch nicht..

Wenn du auf
Code:
http://youkai.yo.funpic.de/php/Reli%20HP/”http:/www.ekir.de/religionamberufskolleg/gegenwart.html“
verweist, kanns garnicht gehen
...

Machs mit Textdateien, in die du den unformatierten Content schreibst, ohne irgendwelche Ersetzungen.. direkt ausm Formular, dann brauchst dus auch nicht mehr verändern wennd us wieder ins Formular einliest !

Du musst aber noch Sicherheitsmassnahmen einbauen, der Code der jetzt kommt ist noch nicht sehr sicher, aber ich lass es jetzt mal aus Verständilchkeitsgründen so
(etwa in der Art: )
PHP-Code:
<?php
/*
 * formular.php
 */
/* Variablen setzen */
if(file_exists($_POST['file'])
   
$value file_get_contents($_POST['file']); // unsicher !
else die('Datei existiert nicht!');

/* html-bla*/
echo '<form method="post" action="tragein.php">';
    
/* Formular .. */
    
echo '<input type="hidden" name="file" value="'.$_POST['file'].'">';
    echo 
'<textarea name="text>'.$value.'</textarea>';
    
/* ... */
echo '</form>'
/* html-bla */
?>
PHP-Code:
<?php
/*
 * tragein.php
 */

$f = @fopen($_POST['file'],'w');
if(!
fwrite($f,$_POST['text']))
   echo 
'Erfolgreich geschrieben [...]';
else 
   echo 
'Fehler: [...]';
fclose($f);
und zum Wiederauslesen:
PHP-Code:
<?php 
/*
 * ausles.php
 */
if(!file_exists($datei) {
   echo 
'Datei existiert nicht!'; return 0; } // den Include beenden
$content file_get_contents($datei); // wieder unsicher !
$content stripslashes($content);
   
// Slashes, die als escape-Zeichen vor Steuerzeichen wie " und ' 
   // (Hochkommas) standen, werden entfernt
$content htmlentities($content);
   
// Sachen wie &, @, < etc werden in die zugehörigen HTML 
   // entities umgewandelt
return $content;
?>
Die ausles.php ist dann zum includen gedacht.
Für die Index.php dann
PHP-Code:
<?php
/* .. design .. */
$datei $_POST['file']; // wieder unsicher .. 
echo include(ausles.php); // ausgeben, was ausles.php zurückgibt
/* .. design .. */
?>
Übrigens:
PHP-Code:
<?php
$file 
file($datei);
foreach(
$file as $line) {
echo 
$line;
}
?>
geht einfacher mit
PHP-Code:
echo file_get_contents($datei); 
und ist etwas schneller.


Soweit mal.. hoffe das kleine System hat n bissl geholfen und es sind nicht viele Fehler drin, habs ausm Stand hingeschrieben.. Habe versucht es einfach zu erklären !

Geändert von smoek (23.06.2005 um 15:10 Uhr)
smoek ist offline   Mit Zitat antworten