![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Newbie
![]() Registriert seit: 18.07.2001
Alter: 47
Beiträge: 11
|
![]() Ich hab da folgendes Problem:
Beim Absenden eines Formulars wird eine fortlaufende, 6stellige Nummer vergeben. Das ganze läuft über eine einfache txt-Datei (nummer.txt), in der die Nummer gespeichert wird (also keine DB) und in der Variable $nummer ausgegeben wird. sieht folgendermaßen aus: // Generieren der nummer $filename = "nummer.txt"; // Öffne angegebene Datei zum Lesen und Schreiben $fp = fopen("$filename","r+"); // Lese den Inhalt der Datei ein und speicher ihn in der Variable $nummer $nummer = fgets($fp); // Neue Nummer ist gleich Nummer + 1 $nummer = $nummer + 1; // Gehe wieder an den Anfang der Datei rewind ($fp); // Scrheiben in die Datei den Inhalt der Variable nummer fwrite ($fp, $nummer); // Schliesse Datei fclose ($fp); // Formatiere die Nummer 6 stellig $nummer = sprintf("%06d",$nummer); Wenn ich nun das Formular absende passiert folgendes: Beim ersten mal wird ganz richtig die Zahl um 1 erhöht. Beim zweiten mal wird nicht die letzte, sondern die erste Stelle der Zahl um 1 erhöht, danach läufts wieder normal weiter ![]() Wenn ich also zu Beginn 000000 in der txt-Datei habe, wird daraus beim ersten absenden 000001, dann 100001, 100002, 100003 etc. Hat irgendwer vielleicht eine Idee worans liegt? Ich komm net drauf ![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|