PHP Inhalt von .TXT Dateien überschreiben.

Andi90

Cadet 1st Year
Registriert
Apr. 2005
Beiträge
9
Nabend Zusammen.

Ich mache zur Zeit in der Schule für mein Qualifikationsarbeit (ist für ein Zusatzdiplom zum Abitur in Belgien) eine Webseite, doch leider komme ich dabei nicht wirklich weiter.
Ich will Daten aus einer .txt Datei lesen, diese verändern und dann wieder abspeichern.
Das auslesen und ändern klappt ohne Probleme. Doch leider will das abspeichern nicht so recht. Ich lese die ganze Datei in einer Tabelle ein und verändere dann die entsprechenden Zellen und will sie dann wieder komplett speichern.
Die Daten die geändert werden, hole ich mit den $_POST variabeln von einen Formular.
Beim Speichern haben ich dann das Problem, das entweder nur "array" oder der Anfangsbuchstabe gespeichert wird.

So sieht die PHP datei aus, die mir alles abspeichern soll.
PHP:
$id = $_POST["id"];
$username = $_POST["username"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$email = $_POST["email"];
$rechnungsadresse = $_POST["rechnungsadresse"];
$adresse_anlage = $_POST["adresse_anlage"];
$provinz = $_POST["provinz"];
$telefon = $_POST["telefon"];
$fax = $_POST["fax"];
$mitarbeiter = $_POST["mitarbeiter"];
$kundennummer = $_POST["kundennummer"];
$sprache = $_POST["sprache"];
$gsm = $_POST["gsm"];
if ($mitarbeiter != 1)
   $mitarbeiter = 1;


$userdatei = fopen("user.txt","r+");
$id--;
$x=0;
do
   {
   $zeile = fgets($userdatei,4096);
   $userdata[$x]=explode(";",$zeile);
   $x++;
   }while (!feof($userdatei));
$userdata[$id][3] = $vorname;
$userdata[$id][4] = $nachname;
$userdata[$id][5] = $rechnungsadresse;
$userdata[$id][6] = $adresse_anlage;
$userdata[$id][7] = $provinz;
$userdata[$id][8] = $telefon;
$userdata[$id][9] = $email;
$userdata[$id][10] = $fax;
$userdata[$id][11] = $gsm;
$userdata[$id][12] = $kundennummer;
$userdata[$id][13] = $sprache;
$userdata[$id][14] = $mitarbeiter;

$x=0;
do
   {
   $array = array("$userdata[$x][0]","$userdata[$x][1]","$userdata[$x][2]","$userdata[$x][3]","$userdata[$x][4]","$userdata[$x][5]","$userdata[$x][6]","$userdata[$x][7]","$userdata[$x][8]","$userdata[$x][9]","$userdata[$x][10]","$userdata[$x][11]","$userdata[$x][12]","$userdata[$x][13]","$userdata[$x][14]");
   $userdata = implode(";",$array);
   fwrite($userdatei, $userdata[$x]);
   $x++;
   }while ($x<$zeile);
fclose($userdatei);
echo "Der Benutzer wurde geändert<br> <META http-equiv='refresh' content='2;URL=benutzerliste.php'>";

Ich habe das soweit eingrenzen können, das der Fehler auf jedenfall am ende sein muss, dort wo die Daten wieder gespeichert werden. Da ich PHP in der Schule leider nicht lerne, muss ich mir nach und nach alles selber beibringen. Wodurch dann ab und zu solche Probleme auftauchen. *gg*

Ich hoffe mal mir kann jemand helfen. ;)

Andi.
 
Schau dir diese Zeilen mal an.
PHP:
$userdata = implode(";",$array);
fwrite($userdatei, $userdata[$x]);
Erst erstellst Du den String $userdata um ihn danach bei fwrite als Array zu behandeln. Macht es klick?;)
 
Ich habe ja gesagt das ich dabei bin mir alles selber beizubringen. Da kann sowas schonmal passieren. :D

Hab aber mittlerweile schon wo anders Hilfe bekommen. ;)
Trotzdem Danke.
 
Kein Problem. Selbst mir, der ich mich etwa schon 3 Jahre mit PHP rumärgere, passiert noch sowas.
 
Zurück
Oben