Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateischreib Problem

Einklappen

Neue Werbung 2019

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

  • Dateischreib Problem

    Hi,

    ich versuche grad eine Seite zu schreiben, die Daten in eine Datei schreiben soll. Die Datei sieht so aus:

    Code:
    LaLa1|28be67936325b1f9139614b81e16603a|Kevir1|8,6|7-10
    Lala2|28be67936325b1f9139614b81e16603a|Kevir3|8,25|7-00
    LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4|7-20
    Wenn ich nun Daten hineinschreibe, sieht das ganze so aus:

    Code:
    LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4|7-20,25|7-00
    28be67936325b1f9139614b81e16603a|Kevir2|8,25|7-00
    LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4|7-20
    D.h. Die Zeile 1 wird mit der Zeile 2 überschrieben und bei Zeile 2 Fehlt die erste Gruppe.

    Auf der Seite gibt es die Option, das PW mitzuändern, wenn ich ankreuze, dann sieht das so aus:

    Code:
    LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4|7-20,25|7-00
    
    Lala2|28be67936325b1f9139614b81e16603a|Kevier2|8,25|7-00
    LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4|7-20
    Es wird eine Leerzeile erschaffen udn Zeile 1 wird wieder mir Zeile 3 überschrieben.

    Es wird ein Array in die datei geschrieben, wenn ich ihn mit var_dump ausgeben sieht er so aus:

    array(3) { [0]=> string(64) "LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4 |7-20,25|7-00 " [1]=> string(64) "LaLa2|28be67936325b1f9139614b81e16603a|Kevir2|8,2 5|7-00 " [2]=> string(54) "LaLa3|28be67936325b1f9139614b81e16603a|Kevir3|8,4 |7-20" }

    Im Array ist der fehler also auch, das Zeile 1 überschrieben wurde. Hier mal das Skript:

    PHP-Code:
    if(isset($_POST['daten_speichern']))  {
      
    $usertxt fopen("user.txt""r+");
      while(!
    feof($usertxt)) {
        
    $txt[] = fgets($usertxt2048); 
      }
      
      foreach(
    $txt AS $akt_zeile) {
        
    $akt_zeile explode("|"$akt_zeile);
        if(
    $akt_zeile[0] == $_COOKIE['user']) {
          
    #####PASSWORT#####
          
    if(isset($_POST['pwaendern'])) {
            
    $pw1 md5($_POST['pw1']);
            
    $pw2 md5($_POST['pw2']); 
            if(
    $pw1 == $pw2) {
              
    $akt_zeile[1] = $pw1;
            }
            else {
              
    $error "<span class=\"error\">Passw&ouml;rter stimmen nicht überein!</span><br>";
            }
          }
          
    #################
          #################
          
    $akt_zeile[2] = $_POST['name'];        
          
    $akt_zeile[3] = $_POST['sollzeit'];
          
    $akt_zeile[4] = $_POST['beginn_h']."-".$_POST['beginn_min'];
          
          
    $akt_zeile implode("|"$akt_zeile);
          
    $akt_zeile .= "\n";
        }
        else {
          
    $akt_zeile implode("|"$akt_zeile);
        }    
        
        
    ##SCHREIBEN##
        
    rewind($usertxt);
        
    fwrite($usertxt$akt_zeile); 
      }
      
    fclose($usertxt);



  • #2
    PHP: fopen - Manual

    'r+' Open for reading and writing; place the file pointer at the beginning of the file.
    Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
    Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

    Kommentar

    Lädt...
    X