Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych z bazy
Forum PHP.pl > Forum > PHP
Buła
Witam.

Mam pewien problem, otóż piszę aktualnie panel admina na moją stronę.
Chwilkę wcześniej, pisałem system profili użytkowników, gdzie w jednym miejscu wyświetla się, czy profil o podanym ID jest administratorem czy zwykłym userem.
Użyłem w tym celu:

Kod
$result2 = mysql_query("SELECT * FROM `gbsite_users` WHERE user_id='".$id."'");
   $dane = mysql_fetch_array($result2);

if ($dane['user_admin'] == 0)
{
echo "Użytkownik";
}
else
{
echo "Administrator";
}


Działało bez problemu.

Później, tym samym sposobem robiłem menu, w którym jeśli $dane['user_admin'] == 1 to wyświetlany będzie link 'Panel Administratora'.
Przy pobieraniu z bazy danych wpisałem dokładnie to samo co przy profilach, czyli:

Kod
$adm = $_SESSION["user"];

$result2 = mysql_query("SELECT * FROM `gbsite_users` WHERE user_name='".$adm."'");
$dane = mysql_fetch_array($result2);

if($dane['user_admin'] == 1)
{    
     echo "<a href='index.php?view=adminpanel'><font size='2' face='Arial' color='#4b4747'>Panel admina</font></a>";
}


I... Nic. Dziwi mnie, że to co w jednym pliku działa bez problemu, w drugim nie działa wcale.
Dodam, że plik w którym wszystko działa, to includowany do szablonu 'showprofile.php', a ten z menu to 'header.php' i jest zaincludowany do każdej podstrony. Mam podejrzenia, że to może mieć jakiś związek.

Napiszcie, co sądzicie o tym :]
Mephistofeles
To jest dokładnie to samo? Ja tam trochę różnic widzę winksmiley.jpg. Skoro pliki są includowane razem, to chyba tablica $dane się miesza. Zmień nazwę, albo wykorzystaj jedną po prostu, ładowaną na początku głównego skryptu. No i w menu korzystasz z sesji, więc czy masz pewność, że jest tam login? Sprawdzałeś zawartość?
I jeszcze jedno: po co ci cała tablica pobierana z bazy, skoro wykorzystujesz tylko 'user_admin'?
Buła
Wiem, miałem na początku select tylko na user_admin, ale w ramach próbowania-wszystkiego-co-możliwe doszło do * biggrin.gif
A w headerze na pewno ten sam login, bo wywoływałem echem i był poprawny.
Mephistofeles
Spróbuj zamiast:
Kod
if ($dane['user_admin'] == 1)

dać:
Kod
if ($dane['user_admin'] != 0)

Może po prostu user_admin nie ma 1, a wartość różną od 0, i w pierwszym wypadku działa, a w drugim niekoniecznie winksmiley.jpg.
Buła
Wciąż nie działa...

Kod
if (isset($_SESSION['user']))
{
$adm = $_SESSION["user"];

$pob_danych = mysql_query("SELECT `user_admin` FROM `gbsite_users` WHERE `user_name` ='$adm'");
$wys_danych = mysql_fetch_array($pob_danych);

if ($wys_danych['user_admin'] != 0)
{
    echo "<a href='index.php?view=adminpanel'><font size='2' face='Arial' color='#4b4747'>Panel admina</font></a>";
    echo "<font size='2' face='Arial' color='#4b4747'> | </font>";    
}
echo "<a href='index.php?view=profile'><font size='2' face='Arial' color='#4b4747'>Profil</font></a>";
echo "<font size='2' face='Arial' color='#4b4747'> | </font>";
echo "<a href='index.php?view=logout'><font size='2' face='Arial' color='#4b4747'>Wyloguj</font></a>";
}
Mephistofeles
Użyj lepiej mysql_fetch_assoc, bo aktualnie pobierasz 2x więcej danych. Wpisz przed ifem echo $wys_danych['user_admin'] winksmiley.jpg. Zobacz co wyświetla, i wpisz jeszcze echo $_SESSION['user']. Sprawdź, czy na pewno te zmienne mają odpowiednie wartości.
Buła
No. Nakryłem coś.
Wrzuciłem pliki na WebServa, bo cba.pl nie generuje błędów. I mam w tym miejscu gdzie panel admina powinien być takie coś:

Kod
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NIE) in D:\Programy\WebServ\httpd\header.php on line 31

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\Programy\WebServ\httpd\header.php on line 31

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Programy\WebServ\httpd\header.php on line 32


Hasła do bazy na 100% są poprawne, bo wszystko inne działa.





EDIT:
Dobra, nie było tematu -.- Geniusz Buła nie zaincludował configu do header.php i zawraca dupe biggrin.gif
Dzięki za posty :]
Mephistofeles
No, to się wyjaśniło biggrin.gif.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.