kostenloser Webspace werbefrei: lima-city


Problem mit Dateierstellung in php

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    w*****e

    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("Ä", "&Auml;", $text);
    $text = str_replace("ä", "&auml;", $text);
    $text = str_replace("Ö", "&Ouml;", $text);
    $text = str_replace("ö", "&ouml;", $text);
    $text = str_replace("Ü", "&Uuml;", $text);
    $text = str_replace("ü", "&uuml;", $text);
    $datei=fopen($datei, w);
    fwrite($datei, $text);
    fclose($datei);}
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mache aus
    $datei=$date&&'.html';
    $datei=$date.'.html';
  4. Autor dieses Themas

    w*****e

    Ich habe es versucht er legt trotzdem die datei nicht an. vielleicht helfen diese details: ich nutze xampp und und habe die chmod auf 777 gesetzt.
  5. 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.
  6. @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):
    <?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('&Auml;', '&auml;', '&Ouml;', '&ouml;', '&Uuml;', '&uuml;', '&szlig;'),
        $_POST['text']
      );
    
      file_put_contents($file, $text);
    }
    da gibt es nur $_POST und - natürlich - keine tabellen.

    (zu deinem kode schreibe ich jetzt keine bemerkungen.)

    lg
  7. Autor dieses Themas

    w*****e

    Ja mit dem zweiten Vorschlag hat es geklappt vielen Dank.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!