Problem mit Dateierstellung in php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
artikel
bemerkung
code
date
datei
datum
detail
file
fingerzeig
folgende code
formular
leeren string
mache
nutz
ordner
ordnung
speichern
testen
text
-
Ich hab verssucht einen eigenen Blog zu schreiben, aber irgendwie schafft es der folgende Code nicht eine Datei zu erstellen und in sie zu schreiben
<?php $seite = $_GET["seite"]; if($seite=='eingeben'){ echo' <form action="blogadmin.php?seite=speichern" method="POST"> <table id="form"> <tr> <td> Datum: <td> <input type="varchar" name="date" value size="20"><br> </tr> <tr> <td valign="top"> Artikel <td> <textarea cols="30" rows="10" name="text"></textarea><br> </tr> <tr> <td> <td> <input type=Submit value="Absenden"> </tr> </table> </form>';} if($seite==''){ $date=$_POST['date']; $text=$_POST['text']; $datei=$date&&'.html'; $text = str_replace("Ä", "Ä", $text); $text = str_replace("ä", "ä", $text); $text = str_replace("Ö", "Ö", $text); $text = str_replace("ö", "ö", $text); $text = str_replace("Ü", "Ü", $text); $text = str_replace("ü", "ü", $text); $datei=fopen($datei, w); fwrite($datei, $text); fclose($datei);} ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du erwartest in der Get-Variable doch den String "speichern", aber möchtest dann doch einen leeren String haben. Das passt nicht. Außerdem kann es so weit ich weiß zu Problemen kommen, wenn man eine Get-Variable mit einem Formular übergibt.
-
@drafed-map hat dir schon 2 gute ratschläge gegeben. hir folgt noch ein. mach das ganze neu, in etwa so (natürlich nur als fingerzeig zu verstehen):
da gibt es nur $_POST und - natürlich - keine tabellen.<?php if(empty($_POST['action'])) { echo $form = <<< EOT <!DOCTYPE html> <html dir="ltr"> <head> <meta charset="utf-8" /> <title>blog</title> </head> <body> <form action="" method="POST"> <dl> <dt>Datum</dt> <dd><input type="varchar" name="date" value size="20"></dd> <dt>Artikel</dt> <dd><textarea cols="30" rows="10" name="text"></textarea></dd> </dl> <p> <input type="submit" name="action" value="Speichern" /> </p> </form> </body> </html> EOT; } elseif($_POST['action'] === 'Speichern') { // hier erstmal testen, ob $_POST['date'] und $_POST['text'] in ordnung sind // ... // wenn alles in ordnung, dann: // der ordner 'blogs' muss beschreibbar sein! $file = "./blogs/{$_POST['date']}.html"; $text = str_replace( array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß'), array('Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß'), $_POST['text'] ); file_put_contents($file, $text); }
(zu deinem kode schreibe ich jetzt keine bemerkungen.)
lg -
Ja mit dem zweiten Vorschlag hat es geklappt vielen Dank.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage