![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 10.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
:?: Czy ktos doswiadczony moglby zobaczyc co napisalem i wskazac gdzie palnalem glupote.
Mam tabele 'osoba' o polach $uzytkownik i $haslo oraz $stanowisko. Chcialbym aby przy logowaniu skrypt sprawdzal kto sie loguje i przekierowywal go na odpowiednia strone. Caly czas jednak kieruje mnie do strony loguj_ok.php. Blagam o pomoc. -- [php:1:fab6297097]<?php require ("../security/funkcje.php"); polaczenie(); if(!isset($uzytkownik) && !isset($haslo)) { // brak wpisu echo "blad"; } else { // wpisy zrobione -> polaczenie $test = "SELECT id_stanowisko FROM osoba WHERE login = '$uzytkownik' AND haslo = '$haslo'"; $wynik_testu = mysql_query($test); if ($wynik_testu = 1) { // jesli id_stanowisko=1 (int) to jest admin header ("Location: ../rezerwacje/login_ok.php"); exit; } if ($wynik_testu = 2) { // to kelner header ("Location: ../rezerwacje/login_ok_kelner.php"); exit; } } ?>[/php:1:fab6297097] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Między liniami 13 a 15 brakuje np. [manual:7516599e30]mysql_fetch_assoc()[/manual:7516599e30]. Oczywiście sam warunek w [manual:7516599e30]if()[/manual:7516599e30] tez należy przebudować.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
moim zadniem niepotrzebnie użyłes instrukcji if do $wynik_testu
lepiej popraw to tak: [php:1:8e3a9a9ee3]<?php $wynik_testu_row = mysql_num_rows($wynik_testu); //sprawdzi ile wierszów zostało zwrócone w wyniku zapytania if($wynik_testu_row == 0) { echo "coś żle wpisałeś"; //nic nie zwróciło więc wywala błąd exit; } else { echo "zalogowałeś się BRAWO!!!"; //wszystko dobrze wpisz co ma się pojawić exit; } ?>[/php:1:8e3a9a9ee3] przerób wedłu własnej woli |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 7.05.2002 Skąd: Sz-n/Wroc/Wawa Ostrzeżenie: (0%) ![]() ![]() |
4 linia
[php:1:c2f74a5cf4]<?php if($wynik_testu_row == 0) { // == ?>[/php:1:c2f74a5cf4] "=" sluzy do przypisywania wartosci porownuje sie "==" !!!!!! -------------------- /maggot/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 10.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
No wszystko fajnie, ale nadal brak rezultatow.
Nadal kierowany jestem jedynie na strone login_ok.php (czyli == 1). Wdzieczny bede za pomoc ponownie. Teraz skrypt wyglada tak (jesli dobrze zrozumialem): [php:1:4c3f2d6369]<?php // ... $test="SELECT id_stanowisko FROM osoba WHERE login = '$uzytkownik' AND haslo = '$haslo'"; $wynik_testu = mysql_query($test); $wynik_testu_row = mysql_num_rows($wynik_testu); if ($wynik_testu_row == 1){ header ("Location: ../rezerwacje/login_ok.php"); exit; } if ($wynik_testu_row == 2){ header ("Location: ../rezerwacje/login_ok_2.php"); exit; } //... ?>[/php:1:4c3f2d6369] |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat No wszystko fajnie, ale nadal brak rezultatow.
Wdzieczny bede za pomoc ponownie. Teraz skrypt wyglada tak (jesli dobrze zrozumialem): [php:1:5c1d75286f]<?php // ... $test="SELECT id_stanowisko FROM osoba WHERE login = '$uzytkownik' AND haslo = '$haslo'"; $wynik_testu = mysql_query($test); $wynik_testu_row = mysql_num_rows($wynik_testu); if ($wynik_testu_row == 1){ header ("Location: ../rezerwacje/login_ok.php"); exit; } if ($wynik_testu_row == 2){ header ("Location: ../rezerwacje/login_ok_2.php"); exit; } //... ?>[/php:1:5c1d75286f] już prawie ale tzreba było poczytać komentarze $wynik_testu_row zawiera ilość wierszy zwróconych w wyniku zapytania czyli jeżeli wpisał niepoprawne dane $wynik_testu_row == 0 !!!!!! w przeciwnym wypatku równa się 1 zmień na : [php:1:5c1d75286f]<?php if ($wynik_testu_row == 0) { header ("Location: ../rezerwacje/login_ok.php"); //nie wyszło exit; } else { header ("Location: ../rezerwacje/login_ok_2.php"); //udało się exit; } //... ?>[/php:1:5c1d75286f] |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 10.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
ok, chyba sie nie do konca zrozumielismy.
Udalo mi sie wyczytac istnienie uzytkownika w bazie. Chcialem sprawdzac jednak jaki status posiada uzytkownik. Czy jest adminem czy np. kelnerem. [php:1:907a9225cf]<?php $test = "SELECT id_stanowisko FROM osoba WHERE login = '$uzytkownik' AND haslo = '$haslo'"; $wynik_testu = mysql_query($test); $wynik_testu_row = mysql_num_rows($wynik_testu); if ($wynik_testu_row == 0) { header ("Location: ../rezerwacje/login_blad.php"); exit; } else { /* no i tu pewnie powinno byc z if'em czego ma szukac jesli id_stanowisko =1, to headerem na strone login_ok.php jesli id_stanowisko =2, to na strone login_ok_kelner.php I tego wlasnie nie umiem zrobic, bo albo wyrzuca wszystkich w bazie, albo ile rekordow znalazl dla tego wlasnie uzytkownika. */ } ?>[/php:1:907a9225cf] |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Niemcy / Siemianowice Ostrzeżenie: (0%) ![]() ![]() |
czyli , jeżeli nie jest adminem jest kelnerem ?? admin loguje sie do jednej czesci strony a kelner .. :) do drugiej tak to ma wyglądać
-------------------- pozdrawiam :)
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
żeby odczytać wartości uzyskane w wyniku zapytania trzeba zrobić tak:
[php:1:8624cc8dda]<?php $id = mysql_fetch_array($wynik_testu); //funkcja zpisuje elemanty w formie tablicy asocjacyjnej if($id[stanowisko] == admin) { echo "jesteś adminiem"; //przekierowanie exit; } else { echo "jesteś kelnerem"; //przekierowanie } ?>[/php:1:8624cc8dda] |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.06.2003 Skąd: Niemcy / Siemianowice Ostrzeżenie: (0%) ![]() ![]() |
zulus tez tak bym to zrobił
-------------------- pozdrawiam :)
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
przedstawiam w takim razie wynik całego tematu:
[php:1:fcf06e0179]<?php $test = "SELECT id_stanowisko FROM osoba WHERE login = '$uzytkownik' AND haslo = '$haslo'"; $wynik_testu = mysql_query($test); $wynik_testu_row = mysql_num_rows($wynik_testu); if ($wynik_testu_row == 0) { header ("Location: ../rezerwacje/login_blad.php"); exit; } else { $id = mysql_fetch_array($wynik_testu); //funkcja zpisuje elemanty w formie tablicy asocjacyjnej if($id[stanowisko] == 1) { //jest adminem przekierowanie header(Location: login_ok_admin.php); exit; } else { //jest kelnerem przekierowanie header(Location: login_ok_admin.php); } } ?>[/php:1:fcf06e0179] |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 10.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
No wielkie dzieki za pomoc. Po kilku drobnych modyfikacjach i przeskoczeniu Cannot modify header information wszystko chodzi jak nalezy.
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 15:56 |