Fileinhalt wieder in inputfelder

SpiderZLS

Mitglied
Ich habe hier ein kleines programm was mir den inhalt von <input> feldern in einer txt datei speichert, nun möchte ich den inhalt der datei wieder auslesen und den entsprechenden input feldern wieder zuweisen.

Der Inhalt der TXT Datei sieht wie folgt aus:
Vorne stehen die Bezeichnungen meiner Inputfelder aus dem Formular und dahinter durch TAB getrennt der Inhalt



Code:
hersteller  test
dateiname   daten/Test
name1   Hier steht name1
name2   Hier steht name2
fadre   Das ist das fadre Feld
rtext1  aaaaaaa
rtext2  abcd
rtext3  abcd
rtext4  efgh
rtext5  yxyxy
ftext1_10   linkes Feld
ftext2_10   mittiges Feld
ftext3_10   rechtes Feld


PHP:
Function read_data($file) {

    $handle = fopen ("./daten/$file", "r");
        while (!feof($handle))
        {
            $buffer = fgets($handle, 4096);
            echo $buffer ."<br>";
        }
        fclose ($handle);
}
Das ist meine funktion um den inhalt der text datei zu lesen.

Ich weiss nun leider nicht wie ich den inhalt wieder den entsprechenden inputfeldern zuweisen kann ...hier mal ein kleiner einblick in meinen code
PHP:
                <form id="daten" method="post" action="<?=$_SERVER['PHP_SELF']?>">
                        &nbsp;&nbsp;
                        Hersteller :
                            <select id="hersteller" name="hersteller" onchange="vorschau();">
                                <option value="test">Test</option>
                                <option value="aaa">Arbeit</option>
                                <option value="bbb">Baden</option>
                                <option value="ccc">Chillen</option>
                                <option value="ddd">Datteln</option>
                                <option value="eee">Essen</option>
                                <option value="fff">Freuen</option>
                            </select>
                        <table align="left" height="80%" width="50%" border="<?echo $border?>">
                            <tr>
                                <td align="left">
                                    Datei-Speichername</br>
                                    <input type="text" name="save" value="<?echo $_REQUEST[wert]?>" size="25" id="save" onchange="vorschau();">
                                </td>
                                <td align="right">
                                    Name1 </br>
                                    <input type="text" name="name1" size="45" id="name1" onchange="vorschau();">
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" align="right">
                                Zusatztext unterhalb des Namens</br>
                                <input type="text" name="name2" size="30" id="name2" onchange="vorschau();">
                                </td>
                            </tr>
                            <tr>
                                <td valign="top" align="left">
                                Anschrift</br>
                                <input type="text" name="fadre" size="45" id="fadre" onchange="vorschau();">
                                </td>
                                <td align="right">
                                Telefon</br>
                                <textarea id="rtext" name="rtext" class="textfield" style="width: 300px; height: 180px;" rows="20" align="right"             onchange="vorschau();"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" height="10%">
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" align="left" valign="bottom">
                                Was auch immer etc.</br></font>
                                <textarea id="ftext" name="ftext" class="textfield" style="width: 700px;" rows="5" onchange="vorschau();"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="3">
                                <textarea id="ftext1" name="ftext1" class="textfield" style="width: 230px;" rows="5" onchange="vorschau();"></textarea>
                                <textarea id="ftext2" name="ftext2" class="textfield" style="width: 230px;" rows="5" onchange="vorschau();"></textarea>
                                <textarea id="ftext3" name="ftext3" class="textfield" style="width: 232px;" rows="5" onchange="vorschau();"></textarea>
                            </td>
                            </tr>
                            <tr>
                                <td colspan="2" align="center">
                                    <input type="hidden" name="send" value="true">
                                    <input type="submit" value="erzeugen" name="btn_f">
                                    <input type="submit" value="SW erzeugen" name="btn_bw">
                                    <input type="reset"  value="Reset">
                                    <input type="button" value="Vorschau" onClick="vorschau(document.forms.daten);">
                                    <input type="submit" value="Speichern" name="btn_save">
                                    </form>


Bin für jede hilfe echt Dankbar da ich gerade wohl ziemlich auf dem Schlauch stehe... ;)
 
Entweder du schreibst die Daten hintereinander getrennt durch irgendein selten verwendetes Zeichen, liest die datei mit file(); zeilenweise aus und pflückst die Daten mit explode(); auseinander oder du schreibst deine Daten in eine XML-Datei und liest das daraus aus.

Du hattest doch vor kurzem das selbe Problem in grün?! Oo
 
Zuletzt bearbeitet:
hmmmm, also ich weiss net irgendwie funktioniert das ganze nicht so wie ich mir das denke... ich bastel da nun seit gestern abend herum und bekomme es einfach nicht gebacken..... :(

Ich weis partou nicht wie ich den Inhalt des Arrays den jeweiligen <input> Feldern zuweisen soll......

Hier mal mein Code
PHP:
<?
function select_read($dir) {

    $handle=opendir ("./$dir/");
        while ($val = readdir ($handle))
        {
            if($val != '.' && $val != '..') {
                    echo "<option value=\"$val\" selected>$val</option>";
            }
        }
        echo "</select>";
        closedir($handle);
}

function read_data($file) {

    $handle = fopen ("daten/$file", "r");
        while (!feof($handle))
        {
            $buffer = fgets($handle, 4096);
            $inhalt = explode("\t", $buffer);
        }
        fclose ($handle);
}

    read_data($_REQUEST[kunde]);
?>
        <html>
          <head>
.....
.......
........
        </head>
            <body>
              <center><h1>Formular</h1></center>
              <hr noshade>
                <form id="load" method="post" action="<?=$_SERVER['PHP_SELF']?>">
                  <table cellpadding="0" cellspacing="0" width="100%"border="<?echo $border?>">
                    <tr>
                      <td colspan="2" nowrap>
                        auswahl :
                        <select id="kunde" name="kunde">
                        <?
                        select_read($dir);
                        ?>
                    <input type="submit" value="Laden">
                </form>
                <form id="daten" method="post" action="<?=$_SERVER['PHP_SELF']?>">
                        &nbsp;&nbsp;
                        Hersteller :
                            <select id="hersteller" name="hersteller" onchange="vorschau();">
                                <option value="ci">Ci</option>
                                <option value="da">Da</option>
                                <option value="mi">Mi</option>
                                <option value="pe">Pe</option>
                                <option value="se">Se</option>
                                <option value="sk">Sk</option>
                                <option value="to">To</option>
                            </select>
                        <table align="left" height="80%" width="50%" border="<?echo $border?>">
                            <tr>
                                <td align="left">
                                    Datei-Speichername</br>
                                    <input type="text" name="save" value="<?echo $_REQUEST[kunde]?>" size="25" id="save" onchange="vorschau();">
                                </td>
                                <td align="right">
                                    Name 1</br>
                                    <input type="text" name="name1" size="45" id="name1" value="<? echo $_INT_NAME1?>" onchange="vorschau();">
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" align="right">
                                Name 2</br>
                                <input type="text" name="name2" size="30" id="name2" onchange="vorschau();">
                                </td>
                            </tr>
                            <tr>
                                <td valign="top" align="left">
                                Anschrift</br>
                                <input type="text" name="fadre" size="45" id="fadre" onchange="vorschau();">
                                </td>
                                <td align="right">
                                Telefon , Faxnummer etc.</br>
                                <textarea id="rtext" name="rtext" class="textfield" style="width: 300px; height: 180px;" rows="20" align="right"             onchange="vorschau();"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" height="10%">
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" align="left" valign="bottom">
                                Zusatztext etc.</br></font>
                                <textarea id="ftext" name="ftext" class="textfield" style="width: 700px;" rows="5" onchange="vorschau();"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="3">
                                <textarea id="ftext1" name="ftext1" class="textfield" style="width: 230px;" rows="5" onchange="vorschau();"></textarea>
                                <textarea id="ftext2" name="ftext2" class="textfield" style="width: 230px;" rows="5" onchange="vorschau();"></textarea>
                                <textarea id="ftext3" name="ftext3" class="textfield" style="width: 232px;" rows="5" onchange="vorschau();"></textarea>
                            </td>
                            </tr>
                            </table>


Wie muss ich denn meine function read_data() ändern das ich im formular bei dem name1 Feld z.b.
Code:
 <input id="name1" value="<?echo $DATA[name1]?> >
als value $DATA[name1] schreiben kann :confused::confused::confused::confused:

Ich peil das irgendwie nicht ganz....bin für eine Hilfestellung sehr Dankbar....
 
also ich bin nun ein paar schritte weiter habe meine function read_data() wie folgt geändert und stehe nun vor dem nächsten problem....

PHP:
function read_data($dir,$file) {
    $file = "$dir/$file";
    if (file_exists($file )) {
       $input = @file($file);
       reset($input);
       $DATA = array();

       foreach( $input as $key => $value) {

        $inhalt = explode("\t", $value);

        if (in_array("hersteller", $inhalt)) $DATA[hersteller] = $inhalt[1];
        if (in_array("dateiname", $inhalt)) $DATA[dateiname] = $inhalt[1];
        if (in_array("name1", $inhalt)) $DATA[name1] = $inhalt[1];
        if (in_array("name2", $inhalt)) $DATA[name2] = $inhalt[1];
        if (in_array("fadre", $inhalt)) $DATA[fadre] = $inhalt[1];
        if (in_array("rtext", $inhalt)) $DATA[rtext] = $inhalt[1];
        if (in_array("ftext", $inhalt)) $DATA[ftext] = $inhalt[1];
        if (in_array("ftext1_", $inhalt)) $DATA[ftext1] = $inhalt[1];
        if (in_array("ftext2_", $inhalt)) $DATA[ftext2] = $inhalt[1];
        if (in_array("ftext3_", $inhalt)) $DATA[ftext3] = $inhalt[1];

       }
   } else {
       $DATA[] = "Datei nicht vorhanden";
   }
   return($DATA);
}

Das problem ist nun rtext ,denn in der gespeicherten datei gibt es rtext1 - rtextXXX
ist also dynamisch erweiterbar da dies der inhalt einer textarea ist und ich diesen inhalt auch so wieder beim einlesen einfügen möchte....

Wie kann ich das am besten lösen ?
 
ok habe auch das gelöst... ;)

ich lasse nun einfach die <textarea> inhalte rawurldecode in die datei speichern und zeige sie später mit rawurlencode wieder an... ;)

Es kann ja soooo einfach sein wenn ich nur net immer auf der Leitung stehen würde.. ;) :-):-)
 
Zurück