WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- 1. Zeile überschreiben

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » 1. Zeile überschreiben - 21 Nov 2024 Antworten
1. Zeile überschreiben
languitar
Foren-Team




Beiträge: 2795

sag mal bitte was genau du machen möchtest. das geht nämlcih sicherlich viel einfacher.

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Also ich will:

Wenn man einen Text eingibt das er ihn in einer Datei namens "log.txt" speichert, aber die datei soll nicht mehr als 20 Zeilen haben, also muss er prüfen ob es die 20. Zeile ist, wenn ja dann überschreibt er die erste zeile und wenn nicht schreibt er die nächste zeile in der datei voll.. und immer wenn man ein Text eingegeben hatt prüft er es und in meiner eingabe.php hab ich es so das wenn man auf den Button klickt, das er $tet auf 12 setzt und weiter unten prüft er ob $tet auf 12 ist wenn ja schreibt er den Text in der "log.txt" datei

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Also wie das da in die Datei reigneschrieben wird ist nen andere Sache, jetzt erst mal zum Formular.

Du baust dir ein Formular nach folgendem Muster:
1: 
2: 
3:


ALLES WIRD IN EINER DATEI ABLAUFEN! also schreibst du in die gleiche Datei jetzt folgenden PHP-Code ÜBER die Ausgabe des Formulars:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:


Wie das mit dem Schreiben in die Datei läuft, gucken wir ein anderes mal.

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Huhu ,
Ich hab da jetzt bisschen rumgebastelt, und wenn man jetzt was eingibt schreibt er 20 Zeilen lang den ganzen Text wenn man Hallo eingibt sieht es so aus:

[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo
[10:32:35] () Hallo

Und den Name setzt er auch nicht ein, aber das bekomm ich selber hin denk ich mal..


  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Hi,
Ich hab das jetzt mal so gemacht:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19:
= 20) {
$datei = file("log.txt");
$fp = fopen("log.txt", w);
  $fp = "$text";
  fwrite($fp);
  fclose($fp);
 } else {
  $datei2=fopen("log.txt",a);
  fwrite($datei2, "[$zeit] ($chatuser) $text"."\n");
  fclose($datei2);
}
}
?>


Wenn 20 Zeilen geschrieben sind löscht er alle Zeilen aus der Datei und beschreibt die erste aber die 21. Zeile verschluckt er also er schreibt sie rein und leer die datei dadurch wird die 21. Zeile nicht ausgegeben wie könnte ich das ändern? :/

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Den Fehler kann ich jetzt auch nciht finden, aber meinst du nicht, dass es sinnvoller wäre jedes mal wen unten eine neue Zeille angefügt wird oben einfach eine wegzunehmen?

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Ja, aber das hab ich doch nicht hinbekommen..

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

ist einfach. Alle Daten in ein Array lesen (mi file()), das erste Element löschen, den neuen Text hinten anhängen und das Array mit foreach wieder in die Datei schreiben.

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Wie lösch ich denn das erste Element in einen Array?

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

unset($array[0])

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
= 20) {
unset($array[0]);
 foreach($datei as $line) {
    if(key($datei) == 0) {
        fwrite($fp, "[$zeit] ($chatuser) $text\n");
    } else {
         fwrite($fp, $line."\n");
    }
    }
}
}
?>


Hm, das mit der foreach-Schleife geht nich, aber wie soll ich es anders machen?

  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Wofür ist denn die If-Abfrage eigentlich?? Du willst doch nur immer hinten eine Zeile anhängen und vorne eine löschen, oder???

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17:
if(isset($_POST['text'])) {

    $array = file("log.txt");
    $zeit  = date("H:i:s");

    unset($array[0]);
    $array[] = "[$zeit] ($chatuser) $_POST['text']\n";
    
    $fp = fopen("log.txt", "w");

    foreach($array as $line) {
        fputs($fp, $line);
    }

    fclose($fp);
}


So sollet es meiner Meinung nach gehen, ist aber nicht getestet.

  Profil   Editieren   Zitieren
Crash
Otto-Normal-Poster
Threadstarter




Beiträge: 74

Hi,
Es geht, aber wenn in der Datei nur 1 Zeile ist, dann beschreibt er immer nur die 1 Zeile, muss ich da jetzt nen Zähler einbauen? Also wenn in der Datei 20 Zeilen sind macht er das, wenn nicht dann fügt er neue Zeile an?

*Edit* Hab es hinbekommen es funzt, danke dir )) *Edit*

Diese Nachricht wurde geändert von: Crash
  Profil   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

öhm ja, muss dann so aussehen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16:
if(isset($_POST['text'])) {

    $array = file("log.txt");
    $zeit  = date("H:i:s");

    if (sizeof($array) >= 20) unset($array[0]);
    $array[] = "[$zeit] ($chatuser) $_POST['text']\n";
    
    $fp = fopen("log.txt", "w");

    foreach($array as $line) {
        fputs($fp, $line);
    }

    fclose($fp);
}

Diese Nachricht wurde geändert von: languitar
  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » 1. Zeile überschreiben

Aktuelle Beiträge zur Hilfe im Forum für Homepage - 1. Zeile überschreiben im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126510    Heute : 428     Gestern : 463     Online : 240     21.11.2024    13:50      2 Besucher in den letzten 60 Sekunden        
alle 30.00 Sekunden ein neuer Besucher
Nach oben