Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych z bazy, W jednym pliku działa, w drugim już nie.
Buła
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2009

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


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 :]
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


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'?

Ten post edytował Mephistofeles 6.03.2009, 19:33:00
Go to the top of the page
+Quote Post
Buła
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2009

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


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.

Ten post edytował Buła 6.03.2009, 19:35:00
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


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.
Go to the top of the page
+Quote Post
Buła
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2009

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


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>";
}
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #6





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


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.
Go to the top of the page
+Quote Post
Buła
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2009

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


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 :]

Ten post edytował Buła 8.03.2009, 18:15:12
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #8





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


No, to się wyjaśniło biggrin.gif.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 17:38