Login geschützer Bereich mit Warteschlange und Priorität

Hi,

ich bin so langsam am verzweifeln.
Es will einfach nicht klappen.

Wieso wird denn jedem angezeigt das er sich einloggen kann, wenn ich es doch hierdrüber sortieren lasse?

PHP:
SELECT * FROM tabelle ORDER BY adminstatus DESC, uhrzeit ASC LIMIT 1

Wenn ich mir die Reihenfolge über echo anzeigen lasse stimmt diese doch auch?

Was mache ich denn falsch?
 
Hi,

sagt mal kann mir denn wirklich niemand helfen?
Ich bin den ganzen Tag dran das ich es hinbekomme eine vernünftige Reihenfolge in meine Warteschlange mit adminstatus zu bekommen.
Jedoch habe ich wie schon beschrieben das Problem das sobald sich zwei User mit dem adminstatus = 0 in der tabelle befinden, dass diese sich sobald
der eingeloggte User sich ausloggt beide zu der Seite weitergeleitet werden das sie sich jetzt einloggen können.

Kann mir bitte jemand helfen was ich denn falsch mache?
Das komische daran ist wenn sich jetzt 3 User einloggen,
d.h.
1. User ohne adminstatus um 10.00 Uhr
2. User mit adminstatus um 10.20 Uhr

Dann kann sich der User mit adminstatus auch schon direkt dann einloggen sobald sich der eingeloggte User ausloggt.
Wenn sich jetzt der User mit adminstatus ausloggt kann sich direkt der User ohne adminstatus einloggen.

Wenn aber beide User keinen adminstatus hätten bekommen beide gleichzeitig die Benachrichtigung das sie sich jetzt einloggen können.

Hatte vielleicht jemand von euch schon so ein ähnliches Problem und kann mir dabei helfen es zu beseitigen.
Wäre wirklich super nett von euch, weil ich so langsam nicht mehr weiß wie ich die Aufgabe bewältigen kann.
 
Ich versuch das Problem zu lösen das ich es hinbekommen will,
dass sich die User nach einer Reihenfolge einloggen können.
Sortiert nach dem adminstatus und der versuchten Einloggzeit.

Und wenn sich der User ausloggt der gerade eingeloggt ist soll sich direkt der nächste einloggen können.

Hilft dir bzw. euch das weiter?
 
Zeig doch mal ein bisschen mehr von deinem Code als nur die Abfrage. Ich denke mal das der Fehler wo anders liegt!!

Wie wird den zum Beispiel überprüft ob sich jemand ausgeloggt hat?

Also lass mal was sehen, dann findet sich sicher auch eine Lösung für das Problem.

Gruß Thomas
 
Hi tombe,

also überprüft ob jemand sich ausgeloggt hat wird wie folgt.
Die Seite auf der sich die User befinden wird dann dementsprechend aktualisiert und somit erscheint dann dort das sie sich einloggen können oder halt noch nicht.

PHP:
$reihenfolge=mysql_query("SELECT * FROM tabelle ORDER BY adminstatus DESC, Einloggzeit ASC LIMIT 1")
or die(mysql_error());
while($row = mysql_fetch_array($reihenfolge))
{
        echo "Adminstatus:";
        echo $row['adminstatus'];

if ($bearbeiter=="1")
{
echo "Es ist noch ein Bearbeiter eingeloggt";
}

if ($bearbeiter=="0" && $row['adminstatus']=="1")
{
echo"Sie können sich jetzt einloggen.";
}

if ($bearbeiter=="0" && $row['adminstatus']=="0")
{
echo"Sie können sich jetzt einloggen.";
}
}
 
Zuletzt bearbeitet:
Hmmmm, das sieht irgendwie ein bisschen komisch aus was du da machst.

Wo werden denn die Variablen "$bearbeiter" und "$bearbeiter_anzahl" mit den entsprechenden Werten belegt?

Am einfachsten wäre es doch wenn du:

PHP:
if (mysql_num_rows($reihenfolge) == 1) {
  echo "Es ist noch ein Benutzer eingeloggt!";
} else {
  echo "Sie können sich jetzt einloggen!";
}

schreiben würdest.
 
Zuletzt bearbeitet:
Ich zielte eher auf die Frage hin, wieso die Benutzer nur nach eine bestimmten Reihenfolge sich einloggen dürfen. Wieso nicht alle sofort und gleichzeitig?
 
Hi,

also erstmal @tombe, sorry da war noch ein Tippfehler drin.
Vorher hatte ich $bearbeiter_anzahl jetzt ist es alles nur $bearbeiter.
Hab das auch verbessert.
Die Werte lass ich mit Hilfe von Count auslesen. Das klappt auch.
Es erscheint ja auch wenn jemand sich eingeloggt hat die Anzahl der User di Online sind, in dem Fall halt immer nur einer.

@Gumbo: es soll eine Warteschlange realisiert werden wobei sich halt immer nur einer einloggen darf und sobald derjenige fertig ist der nächste rein darf.
In dem eingeloggten Bereich befindet sich sozusagen eine kleine Oberfläche über die man auf dem PC ein Programm steuern kann und wenn da 2 User gleichzeitig was machen würden würden die sich untereinander stören. Deswegen der ganze Aufwand mit der Reihenfolge bzw. Warteschlange.
 
Habe gerade nochmal auf Seite 1 angefangen zu lesen.

In der Tabelle in der man eingetragen wird wenn man sich einloggen will, da können ja zig Einträge vorhanden sein.

Damit sich jetzt nur der nächste in der Tabelle stehende Benutzer einloggen kann, muss irgendwo noch der Benutzername geprüft werden.

Beim Anmeldeversuch könntest du entweder als SESSION-Variable oder in einem Cookie den Benutzernamen speichern und diesen dann prüfen.

Sonst bekommt jeder der hier in der "Warteschlange" steht das OK wenn kein anderer mehr online ist.
 
Zurück