Ĺadny brzuch
Cześć,
szef poprosił mnie abym napisał dla firmy (4,5K pracowników) system rejestracji awarii (czas postoju, nazwa maszyny, rodzaj usterki itp), jako, że wszystkie maszyny w firmie działają w oparciu o PC i wszystko jest podłączone do sieci mam pole do popisu.
Każdy pracownik posiada swój numer osobisty, od 00001 wzwyż, i ten numer będzie słuzył do logowania, będzie zczytywany skanerem kodów z karty magnetycznej jaką każdy pracownik posiada. Ale w bazie oprócz numeru jest równiez nazwisko, które w zasadzie do logowania nie jest mi potrzebne, mam taki skrypt:
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany" ]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["nazwisko"]) && !empty($_POST["numer"])){ if(mysql_num_rows(mysql_query("select * from users where nazwisko = '".htmlspecialchars($_POST["nazwisko"])."' AND numer = '".htmlspecialchars($_POST["numer"])."'"))) { echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!");
Moje pytanie brzmi,
jak przerobić ten kod aby mozna było sie logować tylko zapomocą numeru?
I drugie pytanie:
jak by wyglądał na stronie kod, który pokazywał by nazwisko aktualnie zalogowanego pracownika?
Z PHP nie miałem zbyt wiele wspólnego, może pytanie jest i proste, ale nie mam dzis głowy do zadań specjalnych :)
Z góry dzięki za pomoc.
Firma z 4500 pracowników i nie ma osoby posiadającej odpowiednie kwalifikacje do stworzenia aplikacji webowej? Chcesz zrobić to dobrze to napisz to sam, a nie za pomocą jakiegoś amatorskiego skrypciku PHP. Radziłbym start od jakiegoś frameworka - Kohana/CodeIgniter albo ew. Zend czy CakePHP (lub też Django/Python). Framework dostarcza ci system użytkowników i autoryzacji, a umożliwienie np. logowania pod specjalnym ID użytkownika to w Django żaden problem (napisanie własnej klasy dla AUTH_BACKEND).
Komórka w której pracuję liczy sobie aż 27 osób z czego ja jedyny mam jakiekolwiek pojęcie o programowaniu, mamy w firmie dział informatyczny ale tam doprosic sie czegokolwiek graniczy z cudem, dobrze będzie jak łaskawie zechcą nam zrobić jakąś bazę w której będziemy mogli przechowywać informacje o postojach produkcyjnych. Aplikacja ma być amatorska, nie musi spełniać żadnych standardów, nie musi być ładna ani nawet napisana obiektowo, programowanie w PHP nie jest czymś co mnie zbytnio interesuje więc nie mam zamiaru strzelać do zająca z armaty, nie będę korzystal z żadnych frameworków, liczy się funkcjonalność, mam dodawać użytkowników maszyn, którzy będą dodawali rekord do bazy gdy wystapi postój, ma to słuzyc jedynie analizie ilosci czasu, w którym maszyny nie pracowały, ot i cała filozofia.
gdyby to by mialo byc cos na większą skalę, pewnie zainteresował bym się bardziej profesjonalnym podejsciem do programowania, w tym przypadku zupełna amatorka wystarczy.
Zatem, pomoże mi ktoś?
amatorka = dłuższy czas potrzebny na stworzenie czegoś. Framework to nie upiększenie kodu, to narzędzie, które zmniejsza czas i ilość kodu jaką trzeba napisać. Najszybciej pomoc możesz znaleźć na forum.php.pl, ale jeżeli chcesz by ktoś ci napisał całą mini aplikację to musisz się albo mocno doprosić, albo zapłacić ;)
potrzebne mi tylko to o co proszę,
reszta kodu to tylko dodawanie rekordów do bazy i jest juz gotowa ;)
w zasadzie całość jest już gotowa i działa jaknajbardziej poprawnie, chciałbym tylko aby logowanie odbywało się na podstawie jednego pola.
Firma z 4500 pracowników i nie ma osoby posiadającej odpowiednie kwalifikacje do stworzenia aplikacji webowej?
Może to jakaś państwowa firma. Albo ostatecznie spółka akcyjna z rozproszonym akcjonariatem i zarządem który dba o swój interes a nie spółki bo to w końcu "nie ich".
if($_GET["wyloguj"]=="tak"){$_SESSION[ "zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["numer"])){ if(mysql_num_rows(mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"])))){ echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!");
w zasadzie tyle, co do wyświetlania nazwiska to to:
if(mysql_num_rows(mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"]))))
trzeba by zastąpić tym:
$result = mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"])); $_SESSION['row'] = mysql_fetch_row($result); if($_SESSION['row']) [tu ciąg dalszy kodu po skasowanym if-ie]
teraz żeby wyświetlić nazwisko wystarczy echo $_SESSION['row']['nazwisko'];
oczywiście ten kod nie spełnia absolutnie, żadnych standardów, ale powinien działać :P
Może to jakaś państwowa firma. Albo ostatecznie spółka akcyjna z rozproszonym akcjonariatem i zarządem który dba o swój interes a nie spółki bo to w końcu "nie ich".
Sp. z.o.o. jeżeli juz, zresztą nie wiem jakie to ma znaczenie?
@someone, sprawdze i dam znac, dzięki.
jeszcze drobny szczegół - przypadkowo zamieniłem w zapytaniu MySQL where numer na where id, oczywiście powinno być
"select * from users where numer = '".htmlspecialchars($_POST["numer"])
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
szef poprosił mnie abym napisał dla firmy (4,5K pracowników) system rejestracji awarii (czas postoju, nazwa maszyny, rodzaj usterki itp), jako, że wszystkie maszyny w firmie działają w oparciu o PC i wszystko jest podłączone do sieci mam pole do popisu.
Każdy pracownik posiada swój numer osobisty, od 00001 wzwyż, i ten numer będzie słuzył do logowania, będzie zczytywany skanerem kodów z karty magnetycznej jaką każdy pracownik posiada. Ale w bazie oprócz numeru jest równiez nazwisko, które w zasadzie do logowania nie jest mi potrzebne, mam taki skrypt:
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany" ]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["nazwisko"]) && !empty($_POST["numer"])){ if(mysql_num_rows(mysql_query("select * from users where nazwisko = '".htmlspecialchars($_POST["nazwisko"])."' AND numer = '".htmlspecialchars($_POST["numer"])."'"))) { echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!");
Moje pytanie brzmi,
jak przerobić ten kod aby mozna było sie logować tylko zapomocą numeru?
I drugie pytanie:
jak by wyglądał na stronie kod, który pokazywał by nazwisko aktualnie zalogowanego pracownika?
Z PHP nie miałem zbyt wiele wspólnego, może pytanie jest i proste, ale nie mam dzis głowy do zadań specjalnych :)
Z góry dzięki za pomoc.
Firma z 4500 pracowników i nie ma osoby posiadającej odpowiednie kwalifikacje do stworzenia aplikacji webowej? Chcesz zrobić to dobrze to napisz to sam, a nie za pomocą jakiegoś amatorskiego skrypciku PHP. Radziłbym start od jakiegoś frameworka - Kohana/CodeIgniter albo ew. Zend czy CakePHP (lub też Django/Python). Framework dostarcza ci system użytkowników i autoryzacji, a umożliwienie np. logowania pod specjalnym ID użytkownika to w Django żaden problem (napisanie własnej klasy dla AUTH_BACKEND).
Komórka w której pracuję liczy sobie aż 27 osób z czego ja jedyny mam jakiekolwiek pojęcie o programowaniu, mamy w firmie dział informatyczny ale tam doprosic sie czegokolwiek graniczy z cudem, dobrze będzie jak łaskawie zechcą nam zrobić jakąś bazę w której będziemy mogli przechowywać informacje o postojach produkcyjnych. Aplikacja ma być amatorska, nie musi spełniać żadnych standardów, nie musi być ładna ani nawet napisana obiektowo, programowanie w PHP nie jest czymś co mnie zbytnio interesuje więc nie mam zamiaru strzelać do zająca z armaty, nie będę korzystal z żadnych frameworków, liczy się funkcjonalność, mam dodawać użytkowników maszyn, którzy będą dodawali rekord do bazy gdy wystapi postój, ma to słuzyc jedynie analizie ilosci czasu, w którym maszyny nie pracowały, ot i cała filozofia.
gdyby to by mialo byc cos na większą skalę, pewnie zainteresował bym się bardziej profesjonalnym podejsciem do programowania, w tym przypadku zupełna amatorka wystarczy.
Zatem, pomoże mi ktoś?
amatorka = dłuższy czas potrzebny na stworzenie czegoś. Framework to nie upiększenie kodu, to narzędzie, które zmniejsza czas i ilość kodu jaką trzeba napisać. Najszybciej pomoc możesz znaleźć na forum.php.pl, ale jeżeli chcesz by ktoś ci napisał całą mini aplikację to musisz się albo mocno doprosić, albo zapłacić ;)
potrzebne mi tylko to o co proszę,
reszta kodu to tylko dodawanie rekordów do bazy i jest juz gotowa ;)
w zasadzie całość jest już gotowa i działa jaknajbardziej poprawnie, chciałbym tylko aby logowanie odbywało się na podstawie jednego pola.
Firma z 4500 pracowników i nie ma osoby posiadającej odpowiednie kwalifikacje do stworzenia aplikacji webowej?
Może to jakaś państwowa firma. Albo ostatecznie spółka akcyjna z rozproszonym akcjonariatem i zarządem który dba o swój interes a nie spółki bo to w końcu "nie ich".
if($_GET["wyloguj"]=="tak"){$_SESSION[ "zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["numer"])){ if(mysql_num_rows(mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"])))){ echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!");
w zasadzie tyle, co do wyświetlania nazwiska to to:
if(mysql_num_rows(mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"]))))
trzeba by zastąpić tym:
$result = mysql_query("select * from users where id = '".htmlspecialchars($_POST["numer"])); $_SESSION['row'] = mysql_fetch_row($result); if($_SESSION['row']) [tu ciąg dalszy kodu po skasowanym if-ie]
teraz żeby wyświetlić nazwisko wystarczy echo $_SESSION['row']['nazwisko'];
oczywiście ten kod nie spełnia absolutnie, żadnych standardów, ale powinien działać :P
Może to jakaś państwowa firma. Albo ostatecznie spółka akcyjna z rozproszonym akcjonariatem i zarządem który dba o swój interes a nie spółki bo to w końcu "nie ich".
Sp. z.o.o. jeżeli juz, zresztą nie wiem jakie to ma znaczenie?
@someone, sprawdze i dam znac, dzięki.
jeszcze drobny szczegół - przypadkowo zamieniłem w zapytaniu MySQL where numer na where id, oczywiście powinno być
"select * from users where numer = '".htmlspecialchars($_POST["numer"])