Ergebnis 1 bis 15 von 15

Thema: [PHP] Txt Datei anzeigen und speichern...?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Armitage2k
    Code:
    <?php 
      if($_POST['text']) 
        file_put_contents('news_index.txt', $_POST['text']); 
    ?> 
    <form action="textedit.php" method="post"> 
      <textarea name="text"><?php echo file_get_contents('news_index.txt'); ?></textarea> 
      <input type="submit" name="submit" value="Speichern" /> 
    </form>
    hab mir das alles mal bisher so zusammengebastelt, lediglich eine sache ist mir noch unklar. bei <form action="textedit.php"> wird der inhalt des textfelds diese datei weitergeleitet (zum parsen), jedoch will ich nicht das da irgendwas geparst wird. ich will das der inhalt des textfelds genauso wie er ist in die textdatei (index_news.txt) geschrieben wird, und wenn notwendig, sollte der inhalt der textdatei überschrieben werden.

    thx alot
    A2k
    Was genau meinst du mit "das wird weitergeleitet zum parsen"? Wenn du im Script nichts tust als das ganze zu speichern wird auch nichts "geparst".

  2. #2
    ich hab da ein bisschen umständlich ausgedrückt. hier ist mal alles was ich bisher so alles am ursprünglichen code gedreht hab:

    Code:
    <?php 
      if($_POST['text']) 
        file_put_contents('index_news.txt', $_POST['text']); 
    ?> 
    <form method="post" action="textedit.php" name="source_edit" id="formular">
    	<table>
    		<tr>
    			<td style="padding:2px"><strong>News_Index.txt Source Inhalt:</strong></td>
    		</tr>
    		<tr>
    			<td style="padding:2px">
    				<textarea cols="140" rows="15" name="text">
    				
    				<?php echo file_get_contents('index_news.txt'); ?>
    				
    				</textarea>
    			</td>
    		</tr>
    		<tr>
            <td style="padding:2px">•</td>
            <td style="padding:2px">
    <br />
    <center>
              <input name="submit" type="submit" id="speichern" value="Speichern" />
              <input name="loeschen" type="reset" id="loeschen" value="Zur&uuml;cksetzen" />
    </center>
            </td>
           </tr>
          </table>
         </form>
    Mein Problem ist jetzt diese Zeile
    Code:
    <form method="post" action="textedit.php" name="source_edit" id="formular">
    Der Inhalt des Textfeldes wird an die Datei Textedit.php geposted, welche normalerweise einen PHP Code zum parsen beinhaltet. Da ich aber keine solche Datei erstellt habe, kann er den Post-Befehl nicht ausführen, ergo wird nichts in die Textdatei geschrieben.
    Also bleibt mir nur die Frage, wenn ich die Textedit.php Datei erstellt habe, was ich da reinschreiben muss damit der Inhalt des Textfelds genauso in der Textdatei gespeichert wird wie er ist?

    Ich hoffe das ist jetzt ein bisschen verständlicher.
    Thx,

    A2k

  3. #3
    Zitat Zitat von Armitage2k
    2. Was soll ich da reinschreiben damit der Inhalt des Textfelds genauso in der Textdatei gespeichert wird wie er ist?
    Die Datei in der
    PHP-Code:
    <?php 
      
    if($_POST['text']) 
        
    file_put_contents('index_news.txt'$_POST['text']); 
    ?>
    Der Code zum speichern steht.

    Irgendwie hab ich das Gefühl, dass du nicht ganz verstanden hast, was der bewirkt. Das ist nicht gut. o.o

  4. #4
    Zitat Zitat von Fu
    Die Datei in der
    PHP-Code:
    <?php 
      
    if($_POST['text']) 
        
    file_put_contents('index_news.txt'$_POST['text']); 
    ?>
    Der Code zum speichern steht.

    Irgendwie hab ich das Gefühl, dass du nicht ganz verstanden hast, was der bewirkt. Das ist nicht gut. o.o

    Da hast du absolut recht

    Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
    Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?

    Sorry für derartige Fragen, aber irgendwie hab ich grad nen Knoten im Hirn.

    Geändert von Armitage2k (03.09.2006 um 21:12 Uhr)

  5. #5
    Zitat Zitat von Armitage2k
    Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
    Gut so.
    Zitat Zitat
    Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?
    Mit FORM erstellt man ein HTML-Formular, eine Ansammlung von Informationen, die an ein Skript o.a. geschickt werden kann. Das ACTION-Attribut gibt an, wohin die Informationen geschickt werden sollen. In deinem Fall müssen sie an das Script, welches sie in die Datei schreibt geschickt werden. Also das Script mit dem file_put_contents().

    Geändert von Dingsi (03.09.2006 um 21:34 Uhr)

  6. #6
    Merci.

    Das einzige was mir jetzt also zum Einzug in den PHP Himmel feht ist eine lauffähige Textedit.php Datei.
    Hab mir deine Vorgabe mal kurz angesehen und sie in die Datei eingebunden. Herausgekommen ist das und die Tatsache dass es nicht geht

    Code:
    <?php
    
    if (!function_exists("file_put_contents")) 
    { 
      function file_put_contents($filename, $data) 
      { 
        $f=fopen($filename, "w"); 
        fwrite($f,$data); 
        fclose($f); 
      } 
    }
    
    echo "<script>self.location=\"news_success.php\";</script>";
    ?>
    Variablen müsste ich noch definieren, aber handelt es sich jetzt um die textdatei oder um die datei selber...? Werd aus dem Script echt nicht schlau... (was daran liegt dass ich erst vor ner stunde ausm bett bin " ).
    Sorry für die schwere Geburt,

    A2k

  7. #7
    Du brauchst nicht unbedingt eine eigene Textedit.php-Datei. Wenn deine ursprüngliche Datei so aussieht wie du's hier beschrieben hast, dann genügt es, ins form-Tag als Aktion die Datei selbst reinzuschreiben. Also wenn die Datei mit dem Textfeld z.B. "index.php" heißt, schreibst du das Form-Tag so: <form method="post" action="index.php" name="source_edit" id="formular">

    Dadurch wird dann die Seite nochmal aufgerufen, und zwar mit den Daten aus dem Textfeld in der $_POST['text']-Variablen. Am Anfang der PHP-Datei wird dann überprüft, ob diese Variable vorhanden ist. Da's sie's ist, wird ihr Inhalt in die Datei "index_news.txt" gespeichert.

    Ich hoffe, jetzt ist's verständlich. ^^
    Den Code, den du für die "textedit.php"-Datei nehmen wolltest bewirkt etwas völlig anderes, er ist nämlich nur dazu da, die Funktion "file_put_contents ()" zu definieren (nicht auszuführen), falls sie nicht vorhanden ist. Das müsstest du (ohne das "echo ..." am Ende)in eine zusätzliche PHP-Datei schreiben und diese dann per include () in die Haupt-Datei einfügen, falls du eine ältere PHP-Version benutzt. Aber probier's erstmal ohne. ^^''

  8. #8
    Zitat Zitat von drunken monkey
    Du brauchst nicht unbedingt eine eigene Textedit.php-Datei. Wenn deine ursprüngliche Datei so aussieht wie du's hier beschrieben hast, dann genügt es, ins form-Tag als Aktion die Datei selbst reinzuschreiben. Also wenn die Datei mit dem Textfeld z.B. "index.php" heißt, schreibst du das Form-Tag so: <form method="post" action="index.php" name="source_edit" id="formular">

    Dadurch wird dann die Seite nochmal aufgerufen, und zwar mit den Daten aus dem Textfeld in der $_POST['text']-Variablen. Am Anfang der PHP-Datei wird dann überprüft, ob diese Variable vorhanden ist. Da's sie's ist, wird ihr Inhalt in die Datei "index_news.txt" gespeichert.

    Ich hoffe, jetzt ist's verständlich. ^^
    Den Code, den du für die "textedit.php"-Datei nehmen wolltest bewirkt etwas völlig anderes, er ist nämlich nur dazu da, die Funktion "file_put_contents ()" zu definieren (nicht auszuführen), falls sie nicht vorhanden ist. Das müsstest du (ohne das "echo ..." am Ende)in eine zusätzliche PHP-Datei schreiben und diese dann per include () in die Haupt-Datei einfügen, falls du eine ältere PHP-Version benutzt. Aber probier's erstmal ohne. ^^''
    Jo, jetzt hauts hin, und endlich kapier ich auch warum
    Hab mich am anfang gewundert warum ich die aktion an die textedit.php posten sollte, wenn ich doch nix parsen wil.. jetz weiss ich warum. dingsy/fu is davon ausgegangen dass da den namen der PHP datei mit dem formular reinschreib

    Vielen Dank an alle.
    A2k

    @drunken_monkey warum hat das so lange gedauert?? bei php fragen bist du ja sonst immer der erste der ne wunderlösung postet

  9. #9
    Zitat Zitat von Armitage2k
    Jo, jetzt hauts hin, und endlich kapier ich auch warum
    Na super!
    Zitat Zitat
    @drunken_monkey warum hat das so lange gedauert?? bei php fragen bist du ja sonst immer der erste der ne wunderlösung postet
    Naja, ich dachte eigentlich immer, es ist schon alles klar. ^^' Aber beim letzten Post habe ich dann gemerkt, dass du das insgesamt noch nicht wirklich verstanden hast und mich eingeklinkt. ^^
    Außerdem bin ich gerade bei PHP eher einer der schlechteren im Forum, keine Ahnung, wie ich zur Ehre deiner Einschätzung komme. o_O'

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •