Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload,download plikow z uwzglednieniem przynaleznosci do grup
kedi1989
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.03.2013

Ostrzeżenie: (0%)
-----


Witam serdecznie !

Chciałbym zasięgnąć pomocy odnośnie stworzenia upload'u , download'u plików z uwzględnieniem przynależności użytkowników do danej grupy, kursów.

Jestem dość początkującym koderem php, robię pracę inżynierską , system na zasadzie zarządzania studentami i wymiany prac, ocen, komentarzy pomiędzy studentami a wykładowcą.

Mam już zrobiony system logowania, rejestracji, sprawdzania obecności automatycznej po zalogowaniu się studenta itd.. Zrobiłem już również możliwość tworzenia grup i kursów przez wykładowcę do których mogą podłączać się studenci.
Po dołączeniu przez studenta do danej grupy i kursu chciałbym aby pliki które upload'uje wykładowca były widoczne dla danej grupy i kursu od strony studenta.

Szukałem już podobnych tematów ale większość kończy się na tematyce czy lepiej przechowywać pliki w bazie danych co jest złe czy lepiej na serwerze w plikach.

Otóż chciałbym aby wykładowca przy uploadzie mógł z listy rozwijanej , wybrać również daną grupę i kurs dla której udostępniony będzie plik oraz date w której ten kurs będzie wyświetlany. Potem na zasadzie sprawdzenia w bazie danych, przynależności danego studenta do grupy i kursu, plik wyświetlał się do pobrania dla odpowiednich osób i w odpowiednim czasie.

Chciałbym aby pliki były przechowywane na serwerze a nie w bazie danych. Jak to mniej więcej zrobić ? Rozumiem , że dużo operacji powinno odbywać się na zasadzie sprawdzania wartosci w bazie danych oraz dopisywaniu ich do odpowiedniej tabeli.

Czy mógłby ktoś polecić mi jakiś konkretny przykład? Artykuł ? Odnośnie uplodu i downloadu plików z uwzględnieniem jakiś praw?

Mam jeszcze jedno pytanie.

System po zalogowaniu przekierowuje na podstawie "roli" w tabeli users odpowiednio jeżeli jest to student to na podstronę panelu studenta oraz jeżeli jest to administrator to na podstronę panelu administratora. Rozwiązałem to za pomocą sesji, która na każdej podstronie należącej do studenta bądź admina sprawdza rolę i wyświetla zawartość danej podstrony. Uniemożliwia to przejście na inną podstronę nawet po wpisaniu ze strony studenta np. adresu podstrony administratora do przeglądarki gdyż na każdej podstronie sprawdzany jest warunek na podstawie przypisanej do sesji roli.

Czy to dobre rozwiązanie ?

  1.  
  2. if($_SESSION['rola'] === '1')
  3. {
  4. echo " TO JEST PODSTRONA STUDENTA ORAZ LINKI ";
  5.  
  6. echo '<a href="student_dolacz.php">Dolacz do grupy i kursu</a><br/>';
  7. echo '<a href="logout.php">Wyloguj</a><br/>';
  8.  
  9. }


Ten post edytował kedi1989 16.03.2013, 17:49:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Nie ma możliwości zmiany sesji z poziomu przeglądarki, więc czemu nie? (IMG:style_emoticons/default/smile.gif) Jest OK. Takie coś można zrobić albo na podstawie bazy albo na podstawie innych method (w tym wypadku Twojej - sesje).
Wszystko skupia się do tego samego punktu:

  1. $sql = "SELECT * FROM `users` WHERE user_id = ".$zmienna_z_id_obecnie_zalogowanego;
  2. // dalsze instrukcje
  3. $rola = row['rola'];
  4.  
  5. if ( $rola == 1 )
  6. {
  7. echo 'costam';
  8. }


Jak widać - w linii 4 zaczyna się ten kod, który masz u Ciebie:

  1. $rola = $_SESSION['rola'];
  2.  
  3. if ( $rola == 1 )
  4. {
  5. echo 'costam';
  6. }


Podsumowując - na jedno wychodzi bo jeśli użyłbyś rozwiązania z bazą to ID i tak identyfikujesz po sesjach. Jest ok (IMG:style_emoticons/default/smile.gif)

EDIT:

Cytat
AA to rozumiem że fake name jest po to aby , nie autoryzowana osoba nie wpisała sobie real name do przeglądarki i nie pobrała sobie pliku ?


Dobrze rozumiesz.

Ten post edytował Michael2318 16.03.2013, 18:49:12
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:45