Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jak rozróżnić userów w PHP Admin/User
#1
Witam! Mam mały problem bo napisałem już logowanie i rejestracje ale nie wiem jak rozróżnić userów tzn. wiem że trzeba funkcję rozróżniania napisać typu : jeżeli nick i pass jest taki to przenieś na stronę. Ale jak!!!
I tu pytanie do was!!!
Oto pliki php

login.php
Kod PHP:
<?php

// rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
ob_start();
 
// start sesji
session_start();
 
// połączenie z mysql
mysql_connect('localhost''xxxxx''xxxx')
    or die(
'Nieudane polaczenie z baza danych...');
 
// wybór bazy danych
mysql_select_db('xxxxxx')
    or die(
'Nie udalo sie wybrac bazy danych...');
 
// nagłówek
echo '<h2>Logowanie</h2>';
 
// sprawdzamy czy user jest już zalogowany
if($_SESSION['logged']) echo 'Już jesteś zalogowany!';
else
{
    
// tworzymy prosty formularz
    
echo '<form action="login.php" method="POST">
    Nick: <br />
    <input type="text" name="nick"><br />
    Hasło: <br />
    <input type="password" name="pass"><br />
    <input type="submit" name="ok" value="Zaloguj">
    </form>'
;    
 
    
// jeśli zostanie naciśnięty przycisk "Zaloguj"
    
if(isset($_POST['ok']))
    {
        
$nick trim($_POST['nick']);
        
$pass trim($_POST['pass']);
 
        
// sprawdzamy czy wszystkie dane zostały podane
        
if(empty($nick) || empty($pass)) echo 'Wpisz wszystkie pola!';
        
// jeśli tak...
        
else
        {
            
// filtrujemy dane
            
$nick strip_tagsmysql_real_escape_stringHTMLSpecialChars($nick)));
            
$pass strip_tagsmysql_real_escape_stringHTMLSpecialChars($pass)));
 
            
// kodujemy hasło
            
$pass md5($pass);
 
            
// sprawdzamy czy istnieje użytkownik z takim loginem i hasłem
            
$result mysql_query("SELECT * FROM users WHERE nick='$nick' AND pass='$pass'");
 
            
// jeśli nie istnieje
            
if(mysql_num_rows($result)==0) echo 'Niestety podałes niepoprawne dane!';
            
// jeśli tak...
            
else
            {
                
// dodajemy wynik zapytania do tablicy
                
$row mysql_fetch_array($result);
 
                
// ustawianie sesji że użytkownik jest zalogowany
                
$_SESSION['logged'] = true;
 
                
// dodawanie do sesji id użytkownika, login oraz datę rejestracji
                
$_SESSION['id'] = $row['id'];
                
$_SESSION['nick'] = $row['nick'];
                
$_SESSION['data_rejestracji'] = $row['data_rejestracji'];
 
                
// wyświetlenie komunikatu oznaczającego poprawne logowanie
                
echo 'Zostałes poprawnie zalogowany! Możesz teraz przejsć na <a href="index.html">stronę główna</a>';
            }
        }
    }
}
 
// rozłączenie z bazą danych
mysql_close();
 
// koniec buforowania
ob_end_flush(); 
?>

register.php
Kod PHP:
<?php
// połączenie z mysql
mysql_connect('localhost''krawiec_przemysl''21185')
    or die(
'Nieudane polaczenie z baza danych...');
 
// wybór bazy danych
mysql_select_db('krawiec_przemysl')
    or die(
'Nie udalo sie wybrac bazy danych...');
 
// nagłówek
echo '<h2>Rejestracja</h2>';
 
// tworzymy prosty formularz
echo '<form action="register.php" method="POST">
Nick: <br />
<input type="text" name="nick"><br />
Hasło: <br />
<input type="password" name="pass"><br />
<input type="submit" name="ok" value="Rejestruj">
</form>'
;    
 
// jeśli zostanie naciśnięty przycisk "Rejestruj"
if(isset($_POST['ok']))
{
    
$nick trim($_POST['nick']);
    
$pass trim($_POST['pass']);
 
    
// sprawdzamy czy wszystkie dane zostały podane
    
if(empty($nick) || empty($pass) ) echo 'Wpisz wszystkie pola!';
    
// jeśli tak...
    
else
    {
        
// filtrujemy dane
        
$nick strip_tagsmysql_real_escape_string(HTMLSpecialChars($nick)));
        
$pass strip_tagsmysql_real_escape_string(HTMLSpecialChars($pass)));

 
        
// sprawdzamy czy jest już użytkownik o takim loginie
        
$result mysql_query("SELECT * FROM users WHERE nick='$nick'");
 
    

        
// jeśli już istnieje
        
if(mysql_num_rows($result)!=0) echo 'Już istnieje konto z takim loginem!';
       

// jeśli nie...
        
    
else
        {
            
// pobieramy aktualną datę
            
$data time();
 
            
// kodujemy hasło
            
$pass md5($pass);
      
 
            
// tworzymy zapytanie
            
$query "INSERT INTO `users` (`nick` , `pass`, `data_rejestracji`) VALUES ('$nick', '$pass', '$data')";
 
            
// jeśli zapytanie wykona się poprawnie to zostanie wyświetlony stosowny komunikat
            
if(mysql_query($query)) echo 'Zostałes poprawnie zarejestrowany! Możesz się teraz <a href="login.php">zalogować</a>';
        }
    }
}
 
// rozłączenie z bazą danych
mysql_close(); 
?>

index.php
Kod PHP:
<?php
 
// rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
ob_start();
 
// start sesji
session_start();
 
// nagłówek
echo '<h2>Strona główna</h2>';
 
// jeśli user jest zalogowany
if($_SESSION['logged'])
{
    
// wyświetlamy userowi jego dane
    
echo 'Witaj '.$_SESSION['nick'].'!<br />';
    echo 
'Twój ID to: '.$_SESSION['id'].'.<br />';
    echo 
'Zarejestrowałes się u nas: '.date("d.m.Y, H:i"$_SESSION['data_rejestracji']).'<br />';
    echo 
'<a href="logout.php">WYLOGUJ</a>';
}
// jeśli nie jest zalogowany
else
{
    echo 
'Witaj!<br />';
    echo 
'<a href="login.php">Zaloguj się</a> lub <a href="register.php">zarejestruj nowe konto</a>';
}
 
// koniec buforowania
ob_end_flush();
?>

logout.php
Kod PHP:
<?php
 
// rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
ob_start();
 
// start sesji
session_start();
 
// nagłówek
echo '<h2>Wylogowywanie</h2>';
 
// jeśli user jest zalogowany
if($_SESSION['logged'])
{
    
// to go wylogowujemy i usuwamy jego dane z sesji
    
$_SESSION['logged'] = false;
    
$_SESSION['nick'] = '';
    
$_SESSION['id'] = '';
    echo 
'Zostałes poprawnie wylogowany! <a href="index.php">wróć</a>';
}
// jeśli nie jest zalogowany
else
{
    echo 
'Nie byłes zalogowany! <a href="index.php">wróć</a>';
}
 
// koniec buforowania
ob_end_flush();
?>

Dopisałem komentarze może komuś się przyda log i rej.
Z góry dziękuje za uświadomienie. Big Grin
Odpowiedz


Wiadomości w tym wątku
Jak rozróżnić userów w PHP Admin/User - przez dj_wlodi_2000 - 25-04-2010, 01:59

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Odblokowanie User Agent potok 10 9,648 02-10-2012, 19:59
Ostatni post: potok
  Skrypt - dodawanie wpisów/zdjęć przez userów Mushy 3 3,753 03-08-2010, 23:10
Ostatni post: kancik
Exclamation Problem z Uploaderem w Panelu Admin gregzorba 1 1,867 23-03-2010, 17:37
Ostatni post: ILIES
  witryna z kontami userów wilq man 3 3,092 03-09-2009, 04:38
Ostatni post: Kamil

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl