HILFE - form Daten lesen bearbeiten und speichen!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HILFE - form Daten lesen bearbeiten und speichen!

    Hallo erst einmal an alle!
    Wie es nun mal so als Anfänger in PHP ist, gibt es Punkte da kommt man einfach nicht mehr weiter und könnte schier verzweifeln. Aber es ist ja Weihnachten und da habe ich die Hoffnung, dass es einen oder mehrere Kluge Menschen hier in diesem Forum gibt die mir mal mit Rat und tat zur Seite stehen können?

    Zu meinem Problem:
    Ich Bastele mit gerade einen Adminbereich in dem alle relevanten Daten erfasst werden müssen die später über die Hauptseite/Hilfe ausgegeben werden sollen. Dazu habe ich mir einen Menü Punkt „Seiten Inhalt“ erschaffen, als unter Menü erscheint dort „Hilfe Thema“.
    Im „Hilfe Thema“ verwende ich ein textarea in dem ich zum einen die Daten aus der hilfe.txt Datei auslesen möchte und zum anderen ggf. an dem Text Änderungen vor nehmen möchte die ich dann wiederum in die hilfe.txt Datei speichern möchte. Dazu bin ich wie folgt vorgegangen:

    www.meinedomain.de/admin/s_inhalt_hilfe.php - in dieser Datei habe ich den unten angegebenen Code verwendet.

    <?php
    $file = "textdatei/hilfe.txt";
    if (file_exists($file)) {
    $fp = fopen ($file,"a+");
    $t = fread ($fp, filesize ($file));
    $t = ereg_replace (" ", "LEER" , $t);
    fclose($fp); }
    else { $t = "File nicht gefunden!"; }
    ?>
    <form action="../../vorlagen/blau/hilfe.php" method="post" target="_self">
    <p align="center"><textarea cols="60" rows="15" name="text" style="background-color: #F0F0F0"><?php echo $t; ?></textarea></p>
    <p> </p>
    <p align="center"><input type="submit" value="Textdata - ändern!"></p>
    </form>

    Die Seite gibt mir den Inhalt der hilfe.txt Datei wieder (text habe ich vorher in die hilfe.txt Datei rein geschrieben), ich kann diesen Text auch bearbeiten jedoch beim speichern übernimmt er die Daten in die hilfe.txt Datei nicht.



    hilfe.php - in dieser Datei habe ich den unten angegebenen Code verwendet

    <?php
    include('../../admin/textdatei/hilfe.txt'); echo $t;
    ?>

    Die Datei hilfe.php gibt mir den Inhalt der hilfe.txt problemlos wieder.

    Ich Hoffe, dass Ihr mir konstruktive Vorschläge, Tipp´s, Ratschläge oder aktive HILFE zu meinem Problem geben könnt, ansonsten möchte ich allen in diesem Forum eine schöne und geruhsame Weihnachtszeit Wüschen.

    Gruß cien999

  • #2
    Da du keine konkrete Frage gestellt hast, gehe ich davon aus, dass du wissen willst, wie du die geänderten Daten wieder in deine Datei kriegst. Schau das mal an:
    PHP-Code:
    <?php
    $file 
    "textdatei/hilfe.txt";
    if(isset(
    $_POST['submit'])){
        
    file_put_contents($file$_POST['text']);
    }
    else{
        if (
    file_exists($file)) {
            
    $t file_get_contents($file);
        }
        else { 
            
    $t "File nicht gefunden!"
        }
        echo 
    "
            <form action='../../vorlagen/blau/s_inhalt_hilfe.php' method='post' target='self'
            <p align='enter'<textarea cols='0'rows='5'name='text' style='background-color: #F0F0F0'>
    $t</textarea></p>
            <p> </p>
            <p align='center'><input type='submit' value='Textdata - &auml;ndern!' name='submit' /></p>
            </form>\n"
    ;
    }
    ?>
    Dieses Script ruft sich selber wieder auf, aber du kannst das natürlich auch in ein anderes verschieben. file_put_contents() bedingt allerdings PHP5, das sollte aber unterdessen überall vorhanden sein.
    Und benutze das nächste mal bitte php-Tags für den Code, sonst ist er fast unlesbar (steht meines Wissens auch in den Forumsregeln, die du ja sicher, wie alle andern neuen Benutzer, gelesen hast).
    Zuletzt geändert von H2O; 20.12.2007, 16:03.
    Gruss
    H2O

    Kommentar


    • #3
      Besten DANK H2O für deine schnelle Hilfe, natürlich werde ich nächstes Mal die Regeln besser beachten!
      Nur mit dem Code – irgendwie geht da nichts! Ich habe den Code in die s_inhalt_hilfe.php eingefügt er liest mir auch die hilfe .txt Datei aus, jedoch Änderungen sowie speichern kann ich leider nichts.

      Wo bitte liegt der Fehler oder was mach ich falsch? Damit ich auch in der s_inhalt_hilfe.php den Text ändern kann und ihn anschließend wieder über den Button „Textdata – ändern“ in die hilfe.txt Datei speichern kann?

      Kommentar


      • #4
        Fehlermeldung?
        Gruss
        H2O

        Kommentar


        • #5
          Eine Fehlermeldung erhalte ich nicht!

          1. Der Text aus der hilfe.txt wird korrekt angezeigt,
          2. es wird aber kein Formfeld angezeigt zum Bearbeiten des Textes, somit ist das bearbeitet des Textes nicht möglich,
          3. und somit ist das Speichern in die hilfe.txt Datei hinfällig.

          - siehe Bild, so stellt sich das ganze in der s_inhalt_hilfe.inc.php dar. Oben noch mein alter Code, der wird auch korrekt angezeigt ich kann denn Text bearbeiten jedoch das Speichen in die hilfe.txt ist auch nicht möglich, soll heißen da passiert gar nichts der Text wird nicht gespeichert warum genau (?) dass ist mein Problem!



          Mein Ziel war und ist es diesen Text aus der hilfe.txt Datei in der s_inhalt_hilfe.inc.php anzeigen zu lassen – bearbeiten zu können und die Änderungen wieder in die hilfe.txt Datei zu speichern. Aber irgendwie geht das nicht so wie ich das möchte!

          Für deine/eure HILFE währe ich dir/euch sehr dankbar

          Gruß cien999

          Kommentar


          • #6
            error_reporting auf E_ALL?
            ich glaube

            Kommentar


            • #7
              Es ist nicht verboten, meinen Code zu verbessern. Scheinbar sind beim Kopieren ein paar Zeichen verschwunden. Dass mit cols='0' nichts angezeigt wird, ist ja klar. Und dass da noch Leerzeichen fehlen sollte dir ja auch aufgefallen sein.
              Gruss
              H2O

              Kommentar


              • #8
                Ich hab das jetzt so gemacht.

                PHP-Code:
                <?php
                $file 
                "textdatei/hilfe.txt";
                if(isset(
                $_POST['submit'])){
                    
                file_put_contents($file$_POST['text']);
                }
                else{
                    if (
                file_exists($file)) {
                        
                $t file_get_contents($file);
                    }
                    else { 
                        
                $t "Datei nicht gefunden!"
                    }
                    echo 
                "
                        <form method='post' target='_self'
                        <p align='enter'> <textarea cols='60' rows='15' name='text' style='background-color: #F0F0F0'>
                $t</textarea></p>
                        <p> </p>
                        <p align='center'><input type='submit' value='Speichern' name='submit' /></p>
                        </form>\n"
                ;
                }
                ?>

                erhalte allerdings diese Fehlermeldung:

                Fatal error: Call to undefined function: file_put_contents() in /home/www/web65/html/admin/includes/s_inhalt_hilfe.inc.php on line 41

                in der Zeile 41 steht:

                PHP-Code:
                file_put_contents($file$_POST['text']); 
                Wie kann das Problem behoben werden?

                Kommentar


                • #9
                  Original geschrieben von H2O
                  file_put_contents() bedingt allerdings PHP5
                  Was hast du für eine PHP Version. Falls kleiner als 5, file_put_contents() ersetzen mit:
                  PHP-Code:
                  $fp fopen($file'w');
                  fwrite($fp$_POST['text']);
                  fclose($fp); 
                  Original geschrieben von PHP Manual
                  This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.
                  Gruss
                  H2O

                  Kommentar

                  Lädt...
                  X