Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak zrobic sprawdzanie czy dany argument jest wlasciwy + else ?
darex11
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.02.2007

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


Witam. Pojawil mi sie pewien problem na stronie www. Zrobilem dwa logowania dla uzytkownikow. Pierwsze dla zwyklych uzytownikow (numer + haslo). A drugie dla wlasnych uzytkownikow (numer + haslo + sprawdza czy jest wlasnym uzytkownikiem w bazie danych "wlasny >=1). Wszystko dziala ok. Nastepnie po zalogowaniu zrobilem opcje. Dla zwyklych userow oraz dla wlasnych. I teraz gdy ktos jest zalogowany na zwyklego usera i zna adres do strony dla "wlasnego" usera, moze wejsc. Nie ma tam sprawdzania i nie potrafie zrobic... System logowania byl duzo prostszy, poprostu przypisalem dodatkowo pewien argument, a w tym pliku nie mam systemu logowania, wiec nie moge takowego przypisac. Podaje tutaj moj plik z zawartoscia i jezeli mozecie naprowadzcie mnie jakos lub pokazcie jak to zrobic, z reszta plikow juz sobie poradze.
  1. <?
  2. echo "<html><head><link rel="stylesheet" type="text/css" href="style.css"/><title>Big Server</title></head>n";
  3. include('database.php');
  4. ?>
  5. <?php
  6. $baza = file('txt/bany.txt');
  7. $ip = count($baza);
  8. for($i = 0; $i < $ip; $i++)
  9. {
  10. $baza[$i] = trim($baza[$i]);
  11. if($baza[$i] == $_SERVER['REMOTE_ADDR']) {
  12. die('<h2>Zostałes zbanowany!</h2><a href="index.php">Powrot</a>');
  13. $error++;
  14.  
  15. }
  16. }
  17. ?>
  18. <center>
  19. Tutaj bedzie tresc na stronie...
  20. </center>


Chodzi mi o to by z bazy danych pobieral wartosc z tabeli "user", pole "wlasny" i gdy jest wpis ">= 1" wtedy dopuszcza uzytkownika, inaczej odrzuca "uzyszkodnika"
Z gory dziekuje i czekam na pomoc.
Pozdrawiam!

Ten post edytował darex11 13.02.2007, 19:37:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


W tym pliku masz odczytywanie z pliku a nie z bazy danych.
Coś tutaj jest nie tak.

Jeżeli chcesz zrobić sprawdzanie, czy użytkownik ma prawo do danej strony, podczas logowanie zapisz dane w sesji ( dane czyli wartość pola wlasny ). Przy wejściu na stronę dla użytkownika własnego sprawdzasz jaką wartość ma ta zmienna. Jeżeli jest OK to pokazujesz stronę, jeżeli nie to pokazujesz jakiś komunikat.
Go to the top of the page
+Quote Post
darex11
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.02.2007

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


Tutaj w ogole nie ma tego skryptu, to jest skrypt do banicji, narazie wpadlem na taki pomysl:

  1. <?php
  2. include('database.php');
  3. $account = $_REQUEST['account'];
  4. $password = $_REQUEST['password'];
  5. $wlasny = $_REQUEST['wlasny'];
  6. $query = mysql_query("SELECT * FROM accounts WHERE (`account` = '".$account."' AND `wlasny` >= '1')");
  7. if(mysql_query($query) == 1)
  8.  {
  9.  $sql = mysql_fetch_array($query);
  10. $_SESSION["account"] = $account;
  11. $_SESSION["password"] = $password;
  12. $_SESSION["wlasny"] = $wlasny;
  13. header ("Location: link1.php");
  14.  }
  15. elseif(mysql_query($query) == 0)
  16. {
  17. die('<h2>A buuuu!</h2>');
  18. $error++;
  19. }  
  20. ?>


Tylko ze musze zrobic by byl sprawdzany "accounts" i "wlasny" za jednym razem, bo tak bedzie szukal po calej bazie danych, a mi chodzi tylko o tych ktorzy maja "wlasny" ustawiony na 1 lub wiecej

EDIT:
Przeedytowalem troszeczke skrypt, moze tak ?

Ten post edytował darex11 13.02.2007, 20:02:21
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Napisze raz jeszcze.
Musisz sprawdzać podczas wejścia na stronę "wlasnego" użytkownika czy użytkownik ma do tego prawo. Żeby to zrobić musisz mieć jakieś dane tego użytkownika. Możesz przy każdorazowym wejściu na taką stronę prosić o hasło i login i sprawdzać czy ma dostęp .. ale to trochę mija się z celem.

Najlepiej zrobić to tak:
Podczas logowanie ( które masz zrobione ) ustawić zmienną w sesji np $_SESSION['wlasny'] wartością pobraną z bazy danych podczas logowanie użytkownika. Przy wchodzeniu na stronę "wlasnego" użytkownika sprawdzasz jaką wartość ma ta zmienną $_SESSION['wlasny']. Jeżeli jest >=1 pokazujesz stronę, jeżeli nie pokazujesz "BRAK DOSTĘPU".

Przeczytaj o SESJACH i zobaczysz, że wszystko będzie łatwiejsze.
Go to the top of the page
+Quote Post

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: 15.09.2025 - 04:38