![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na wstępie informuję, że raczkuję w php (IMG:style_emoticons/default/wstydnis.gif) ale w końcu każdy kiedyś zaczynał.
Utworzyłem stroną składającą się z: (folder główny) index.php header.php main.php footer.php css includes images js pages Nagłówek i stopka są stałe, podstrony wraz z (różnym) menu wczytują się do pliku main.php, oto jego część: CODE <div id="content"> <?php if(empty($_GET['page']) or $_GET['page']=="strona1") { include("pages/index_xx.php"); } else if(empty($_GET['page']) or $_GET['page']=="strona2") { include("pages/strona_xx.php"); } else . . . . if(empty($_GET['page']) or $_GET['page']=="strona42") { include("pages/strona_17_zom.php"); } else if(empty($_GET['page']) or $_GET['page']=="strona43") { //zajete dla rejestracji include("includes/register.php"); } else { echo "<p>Nie ma takiej strony</p>"; } ?> </div> Aby ułatwić sobie życie skorzystałem z dobrodziejstw języka php i sql, dodatkowo tworząc bazę danych i system rejestracji. CODE CREATE TABLE `baza`.`members` ( `id` MEDIUMINT( 8 ) NOT NULL AUTO_INCREMENT , `username` VARCHAR( 50 ) NOT NULL , `grupa` VARCHAR( 50 ) NOT NULL , `email` VARCHAR( 50 ) NOT NULL , `password` VARCHAR( 50 ) NOT NULL , `status` INT NOT NULL , `date` TEXT NOT NULL , `ip` VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( `id` ) , UNIQUE ( `username` )) TYPE = MYISAM Jakoś udało mi się w końcu to uruchomić i teraz mam możliwość dodawania użytkownków do bazy oraz możliwość logowania. Na chwilę obecną, dzięki: CODE <?php uzyskałem możliwość pokazywania treści dla zalogowanych i niezalogowanych.if($_SESSION['username']) { echo 'dla zalogowanych'; } if(!$_SESSION['username']) { echo 'dla niezalogowanych'; } ?> Spędziłem sporo czasu szukając rozwiązania, ale do tej pory nic nie udało mi się odszukać. Dokładnie to nie wiem nawet jak zadać pytanie. Już tłumaczę o co chodzi: nie wiem czy dobrze kombinuję, ale użytkownikom dodałem w bazie pole "grupa", wg którego chciałbym nadać im prawa do przeglądania strony, tzn. jeśli zaloguje się użytkownik z grupy o nazwie "pierwsza" to zobaczy tylko częśc strony, a jeśli zaloguje się użytkownik z grupy "druga" to zobaczy dodatkowo ukrytą część strony. Rozumiem, że trzeba się jakoś odwołać do pola "grupa", być może rozwiązanie jest banalne dla osób doświadczonych, więc liczę na ich pomoc. Aha, w zapytaniu tworzącym tabelę na razie nie koduję haseł, wiem że to błąd, ale w chwili obecnej stronę mam na localhost. Jeśli jest potrzeba to pokażę resztę kodu. Rozumiem również, że zapewne zawiera on błędy, ale przecież ten dział to przedszkole i chętnie skorzystam z dobrych rad doświadczonych osób. Mam nadzieję, że dobrze wytłumaczyłem mój problem, z góry dziękuję za okazaną pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
stwórz sobie tabele z z grupami oraz z polami odpowiadającymi konkretnemu uprawnieniu np: add_new_user z typem TINYINT(1) oraz z wartością domyślną 0. Teraz jeśli 1 to ma uprawnienie a 0 nie ma.
W tabeli z userami robisz pole id_grupy i sprawdzasz czy w tabeli z grupami o podanym id , wybrane pola ma wartosc 1 jesli tak to puszczasz dalej, a jesli nie to wyswietlasz komunikat o braku uprawnień Napisz sobie funkcje, która to bedzie sprawdzać |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze myślisz. Do tej pory wszystko Ci śmiga więc jest ok.
Do grup należy stworzyc tabele grupy w nich ID + NAZWA. Do tabeli z user dodaj IDG - id grupy Kolejno przy rejestracji przypisz wszystkich do jakies tam grupy np. 1 - Domyślna Podczas logowania zapisz w sesji grupe w jakiej sie znajduje uzytkownik. Jeśli chodzi prosty sposób to sprawdzaj, czy $_SESSION['user']['idg']==1 to pokaz to, jeśli jest np. 2 pokaż coś innego. Prosta rzecz ale na początek Ci wystarczy. //ps. w/w rozwiązanie jest dobre, ja dałem Ci rozwiązanie na kilka grup + nazywanie ich. Ale do tego należy mieć panel Ten post edytował aras785 11.01.2013, 10:42:21 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybką odpowiedź.
Zrobiłem tak: 1. Utworzyłem tabelę użytkowników, dodając pole "idg":
2. Dodałem tabelę grup:
3. W pliku rejestracji: - dodałem "idg" w zapytaniu:
- i dodałem input:
Tak więc mam dodane pole do tabeli użytkowników i mam tabelę dla grup. Cytat("aras785") //ps. w/w rozwiązanie jest dobre, ja dałem Ci rozwiązanie na kilka grup + nazywanie ich. Ale do tego należy mieć panel dodałem kilka grup. Używam takiego zapytania:
Do tej pory wszytko poszło dobrze (IMG:style_emoticons/default/rolleyes.gif) Cytat("aras785") Podczas logowania zapisz w sesji grupe w jakiej sie znajduje uzytkownik. Może pokarzę mój plik check_login.php: Czy muszę jakoś przerobić to zapytanie?
np na coś takiego (chyba błądzę i babola robie):
i dodać coś po tym?
np
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 16:49 |