Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Co jest nie tak?
#1
Mam taki skrypt no i wszystko loguje ale tak jak zaloguje na admina jest okej ale jak na usera to pokazuje panel usera i formularz do logowania dlaczego?
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
include("config.php");

// sprawdzamy czy user jest już zalogowany
if($_SESSION['logged']) 

echo 
'<p class="zalog">';
$z mysql_query("SELECT upr,id,portfel FROM uzytkownicy WHERE nick = '".$nick."' LIMIT 1");
$t mysql_fetch_array($z);
$upr $t['upr'];
$portfel $t['portfel']; 
if (
$upr == 'user' ) {
// tresc dla zalogowanego uzytkownika
echo "<font color='white'>Witaj </font><font color='#a821b1'>$nick</font><br>";
echo 
"<font color='white'>Id Konta: </font><font color='#a821b1'> $id</font><br>"
echo 
"<font color='white'>Stan Konta:</font> <font color='#a821b1'> $portfel zl</font><br><br>";
echo 
'<font size="2"><img src="images/st.png"> <a href="indeks.php">Serwery</a>  <br><img src="images/st.png"> <a href="indeks.php?go=message">Zamówienia</a><br><img src="images/st.png"> <a href="indeks.php?go=portfel">Portfel</a><br>   <img src="images/st.png"> <a href="indeks.php?go=edit">Edycja Profilu</a><br> <img src="images/st.png"> <a href="index.php?page=wylog">Wsparcje Techniczne</a><br> <img src="images/st.png"> <a href="index.php?page=wylog">Wyloguj mnie</a></font>';
echo 
'<br>';
}
if (
$upr == 'admin' ) {
$nick $_SESSION['nick'];
echo 
"<font color='white'>Witaj </font><font color='#a821b1'>$nick</font><br>";
echo 
'<img src="images/st.png"> <a href="index.php?page=wylog">Zamówienia</a><br>';
echo 
'<img src="images/st.png"> <a href="index.php?page=wylog">Aktualizacja Portfeli</a><br>';
echo 
'<img src="images/st.png"> <a href="index.php?page=wylog">Dodaj Oferte</a><br>';
echo 
'<img src="images/st.png"> <a href="indeks.php?go=historia">Historia Logowań</a><br>';
echo 
'<img src="images/st.png"> <a href="indeks.php?go=userzy">Userzy</a><br>';
echo 
'<img src="images/st.png"> <a href="index.php?page=wylog">Wyloguj mnie</a><br>';
echo 
'</p>';
}
else
{
        
// tworzymy prosty formularz
        
echo '<div id="log"><form action="index.php" method="POST">
        Nick: <br />
        <input type="text" name="nick" class="input_login"><br />
        Hasło: <br />
        <input type="password" name="pass" class="input_haslo"><br />
        <input type="submit" name="ok" class="button_log" value="Zaloguj">
        </form></div>'
;
        echo 
'<p class="lo">';
 
echo 
'<a href="index.php?go=przyp">Przypomnij Hasło</a><br><a href="index.php?go=rej">Rejestruj</a>';

echo 
'</p>';       

        
// jeśli zostanie naciśnięty przycisk "Zaloguj"
        
if(isset($_POST['ok']))
        {
                
$nick $_POST['nick'];
                
$pass $_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 trim(strip_tagsmysql_real_escape_stringHTMLSpecialChars($nick))));
                        
$pass trim(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 uzytkownicy WHERE nick='$nick' AND haslo='$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
                                
header("Location: index.php");
                        }
                }
        }
}

// rozłączenie z bazą danych
mysql_close();

// koniec buforowania
ob_end_flush();
?>

Problem rozwiązany do zamknięcia!
Odpowiedz
#2
Proste
Kod PHP:
if ($upr == 'admin' )
{ ...
}
else
//formularz 

Sprawdza czy jest adminem (user nie jest) więc wykonuje else

Poprawione:
Kod PHP:
if ($upr == 'user' ) {
// tresc dla zalogowanego uzytkownika
// POMINIETE DLA CZYTELNOSCI KODU
}
elseif (
$upr == 'admin' ) { //TUTAJ JEST ZMIANA ! ! !
$nick $_SESSION['nick'];
// POMINIETE DLA CZYTELNOSCI KODU
}
else
{
        
// tworzymy prosty formularz
// I TAK DALEJ 

sprawdza czy jest user (NIE) wiec sprawdza czy jest admin (NIE) wiec wyswietla formularz
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję Smile

Any sufficiently advanced technology is indistinguishable from magic.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Gdzie tu w zapytaniu jest błąd. Intelactive 7 5,167 23-10-2012, 16:04
Ostatni post: Intelactive
Question Prepared statements - czy zapytanie jest wystarczająco bezpieczne atrapa 0 1,528 15-11-2011, 23:23
Ostatni post: atrapa
  Kod jest wykonywany gdy zmienna nie jest pusta bartoszka1996 3 3,739 07-04-2011, 22:45
Ostatni post: Pedro84
  Czy to jest bezpieczne qetli 2 2,574 15-03-2011, 00:56
Ostatni post: Pedro84

Skocz do:


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