Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie komputera z przeglądarki
Forum PHP.pl > Forum > PHP
qbalis
Witam Wszystkich,
piszę po raz pierwszy, ale z Waszej pomocy korzystałem już nie raz i bardzo dziękuję za wszystkie posty.
Tym razem mam jednak problem, którego rozwiązania nie znalazłem więc piszę licząc na Waszą pomoc.

Opis sytuacji:
Mam aplikację w php 5 do zbierania dużej ilości danych. Dane wprowadzają pracownicy najemni. Ponieważ przy ręcznym wprowadzaniu mogą pojawić się błędy na koniec działania jest opcja "sprawdź poprawność". Część błędów wynika z nieuwagi, a część z błędnych danych niezależnych od najemnika. Tak czy owak bardzo ważna jest informacja, że są błędy i jakiej kategorii(część da się naprawić od razu, ale wymaga większej wiedzy niż mają najemnicy). Do tej pory był komunikat "Wezwij pracownika" i czekał na hasło, które znają tylko pracownicy.

Problem:
Niektórzy, aby przyśpieszyć pracę albo używali klawisza powrotu (został już usunięty, ale są skróty klawiaturowe) albo zamykali przeglądarkę i otwierali ponownie wprowadzając nowe dane.

Wymyśliłem, że gdyby udało się zablokować komputer np. włączanie wygaszacza ekranu z hasłem, nie dałoby się tego obejść. Problem oczywiście w tym jak z przeglądarki zablokować komputer.

Szukałem już różnych rozwiązań, ale nic nie znalazłem. Może ktoś miał już podobny problem lub wymyśli sposób rozwiązania.

Z góry dziękuję za wszelkie pomysły.

Pozdrawiam,
Qba
!*!
Zablokować komputera, nie zablokujesz. A Ci najemnicy mają swoje loginy? To zablokuj ich po zalogowaniu. Ewentualnie zczytaj jakieś inne informacje jak przeglądarka (useragent), IP, czas i przy wywołaniu sprawdzaj czy nie ma blokady.
by_ikar
Przetrzymuj te dane w jakiejś tabeli jako dane tymczasowe, i dodawaj je do właściwej tabeli, dopiero po pozytywnym "sprawdź poprawność", lub po wpisaniu tego hasła pracownika. Zamknie przeglądarkę i wprowadzi dane na nowo - żaden problem, tamte dane i tak są powiedzmy "tymczasowe" jeżeli jeszcze raz wprowadzi niepoprawne dane i zamknie przeglądarkę/da "wstecz", efekt będzie taki sam, dane te nie zostaną dodane do właściwej tabeli, wciąż będą mało istotne i będą przechowywane w tabeli która przetrzymuje je czasowo. Do tego jakiś trigger który będzie kasował przy każdej aktualizacji "tymczasowej tabeli" wyniki starsze niż powiedzmy godzina. Bazy danych sobie nie zapchasz, a poprawne dane będą lądować w tej tabeli co powinny, czyli dopiero po przejściu testu na poprawność i/lub korekcie przez pracownika.

Dodatkowo możesz na podstawie sesji/ciasteczka/konkretnego użytkownika, pobierać dane z "tymczasowej tabeli", w przypadku kiedy użytkownik zamknie przeglądarkę, do formularza który musi wypełnić. W efekcie czego, czy będzie chciał czy nie, dane będą musiały być poprawne i żadne zamykanie przeglądarki czy dawanie wstecz nic mu nie da.

Tabele tymczasową, mam namyśli zwykłą tabelę, do której będą trafiały dane tuż przed zweryfikowaniem i dopiero po zweryfikowaniu, te dane będą przesłane do docelowej tabeli.
qbalis
Bardzo dziękuję za pomoc.
Połączę zmienną sesyjną blokada z wpisem do tabeli. To powinno pomóc - puki przeglądarka żyje zmienna sesyjna działa, a wpis do tabeli rozwiąże sprawę logowania.
Jeszcze raz dziękuję za szybką pomoc.

by_ikar - niestety poprawność, a raczej kompletność danych mogę sprawdzić dopiero po wpisaniu całości. To trochę dużo, więc szkoda tracić w tabeli tymczasowej dane wprowadzone - lepiej poprawić niż wszystko stracić. Skorzystam więc z rozwiązania !*!, ale Tobie również bardzo dziękuję.

Pozdrawiam,
Qba

P.S.
A jeśli byłyby jeszcze inne pomysły to chętnie przeczytam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.