kostenloser Webspace werbefrei: lima-city


variable (integer) um eins erhöhen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    r***a

    nochmals hallo zusammen, ich hab da ein Problemchen, irgendwie funnzt das net so wie ichs im web gelesen hab....


    $anzahl_dat="anzahl_wrong.dat";
    $anzahl_info=fopen($anzahl_dat,"a");
    $anzahl_falsch=fread($anzahl_info, filesize($anzahl_dat));
    $anzahl_falsch=$anzahl_falsch++;
    fwrite($anzahl_info,$anzahl_falsch);
    fclose($anzahl_info);

    die datei anzahl_wrong.dat enthielt vorher die Zahl 1

    wenn ich die routine hab durchlaufen lassen, sollte sie eigentlich die Zahl 2 enthalten aber nix is.....

    Inhalt war: 11

    ich hab es auch mit ++$anzahl_falsch versucht aber bin wohl irgendwie doch zu doof...dachte PHP erkennt das es ein Integer wert ist
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hall regia!

    Ich w?rde die Variable $anzahl_falsch probeweise mal mit print() ausgeben. Auch hilft eine ?berpr?fung mit is_integer(): Sollte $anzahl_falsch n?mlich keine Ganzzahl sein, meldet diese Funktion als Ergebnis FALSE. Ansonsten hilft vor der Addition vielleicht eine Zwangskonvertierung nach Integer mit
    (integer) $anzahl_falsch.

    MfG
    alopex
  4. Autor dieses Themas

    r***a

    danke ich werds mal antesten, es geht um nen counter, wie oft versucht wurde sich einzuloggen und das Passwort falsch war...nur als Background-Info

    mal testen mit (integer davor)
  5. Autor dieses Themas

    r***a

    hmpf mit integer davor funnzt das net........ anderen vorschlag? :-(
  6. Wenn ich mir das Code-Fragment genau betrachte, enth?lt es einen Fehler: Man kann nicht eine Datei mit fopen($dateiname, 'a') ?ffnen und dann mit fread() etwas daraus lesen. Der Modus 'a' steht f?r "append", also "Anh?ngen" von Daten an die schon bestehende Datei. Verwende besser 'w' oder, wenn du lesen und schreiben willst 'w+'.

    Durch diesen Fehler kann es passieren, dass fread() nicht den Inhalt einer Zeile zur?ckgibt, sondern einen Fehlercode, wahrscheinlich FALSE oder EOF, Genaueres finde ich momentan nicht in der PHP-Dokumentation, aber man kann das pr?fen:

    $bla = fread(...);
    if($bla === FALSE) print("Fehler: FALSE");
    if($bla === EOF) print("Fehler: EOF");

    MfG
    alopex
  7. Autor dieses Themas

    r***a

    so hab ich das Problem gel?st:

    $anzahl_dat="anzahl_wrong.dat";
    $anzahl_info=fopen($anzahl_dat,"r");
    $anzahl_falsch=fread($anzahl_info, filesize($anzahl_dat));
    $anzahl_neu= ++$anzahl_falsch;
    fclose($anzahl_info);
    $anzahl_info=fopen($anzahl_dat,"w");
    fwrite($anzahl_info,$anzahl_neu);
    fclose($anzahl_info);


    ich danke euch......
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!