Gerald: Fortlaufende Benutzernummer

Hallo zusammen,
ich hab ein Problem mit meinem "login"-Script. Und zwar wird bei mir ein neuer Benutzer so angelegt:

  
$usernr = 0;  
if(isset(button))  
$benutzer[$usernr]["Vorname"] = $_POST["vorname"];  

mit $usernr ++; sollte ja eigentlich der Wert von $usernr um 1 erhöht werden.
Aber warscheinlich wird sie durch $usernr = 0; wieder auf 0 zurückgesetzt... wie kann ich das umgehen?

  1. Aber warscheinlich wird sie durch $usernr = 0; wieder auf 0 zurückgesetzt... wie kann ich das umgehen?

    Setze $usernr nicht auf 0 sondern ermittle die derzeit höchste User-Nummer.

    Ggf. solltest du dich mit Algorithmenentwicklung auseinandersetzen bevor du dich weiter mit dem Programmieren beschäftigst, ansonsten wirds etwas schwierig, wenn du selbst bei derart trivialen Problemen schon anstehst.

    Ein "wichtiger" Test hierzu ist z.B. dieser hier. Wenn du den Test nicht lösen (bzw. beim Scheitern nicht nachvollziehen) kannst, ist deine Eignung als Programmierer sicher fraglich.

    1. Moin Moin!

      Aber warscheinlich wird sie durch $usernr = 0; wieder auf 0 zurückgesetzt... wie kann ich das umgehen?

      Setze $usernr nicht auf 0 sondern ermittle die derzeit höchste User-Nummer.

      Im Datenbank-Umfeld nicht selber frickeln, schon gar nicht SELECT MAX(), sondern eine Sequenz benutzen.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      1. Im Datenbank-Umfeld nicht selber frickeln, schon gar nicht SELECT MAX(), sondern eine Sequenz benutzen.

        Ich lese nichts von "Datenbank" - möglicherweise hinterlegt der OP seine Benutzer in einem Plaintext-File oder in einem XML-Baum.

        Falls es sich tatsächlich um eine Datenbank handelt, hat MudGuard schon alles nötige gesagt.

  2. Hi,

    $usernr = 0;
    if(isset(button))
    $benutzer[$usernr]["Vorname"] = $_POST["vorname"];  [/code]
    mit $usernr ++; sollte ja eigentlich der Wert von $usernr um 1 erhöht werden.

    dazu müßte $usernr ++; aber auch irgendwo benutzt werden ...

    Aber warscheinlich wird sie durch $usernr = 0; wieder auf 0 zurückgesetzt...

    Höchstwahrscheinlich. Um nicht zu sagen: mit Sicherheit.

    wie kann ich das umgehen?

    Setze $usernr nicht auf 0, wenn Du das nicht haben willst.

    (ich weiß ja nicht, was Du da treibst, aber ggf. ist es sinnvoller, die usernr von der Datenbank (MySQL: auto_increment, Oraqle: Sequence, ...) vergeben zu lassen, dann ist auch sichergestellt, daß die usernr wirklich eindeutig ist - es könnten ja mehrere Requests gleichzeitig reinkommen ...)

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.