Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Globalne zmienne
maxerxxl
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 29.03.2014

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


Cześć.

Mam pewien problem. Otóż miesiąc temu pisałem swoją stronę. Działały mi globalne zmienne. To znaczy stworzyłem połączenie z bazą danych w katalogu: engine/config.php i potem użyłem w index.php poniższą funkcję:
Kod
include('engine/config.php');


Działało. Dawałem tak samo w innych plikach te odwołanie i też działało.


Dzisiaj zakupiłem sobie VPS. Zainstalowałem apache2 oraz PHP 5.4 może i stare ale nie potrafiłem zainstalować na debianie wyższego php, co chwile kończyło się błędami. Problem polega właśnie na tym że plik index.php czyta katalog engine/config.php i mogę wysyłać zapytania do bazy danych w tym pliku. Natomiast plik w katalogu pages/index.php nie może sobie poradzić z wczytaniem funkcji z katalogu engine/config.php.

Kawałek zawartości config.php
Kod
if (isset($_COOKIE['hash'])) {
    $sql = $connection->query("SELECT * FROM `users` WHERE `hash` = " . $connection->quote($_COOKIE['hash']));
    if ($sql->rowCount() != 0) {

        $row = $sql->fetch();
        $user = $row;
    }
}


Problem jest ze wczytaniem $user w innych plikach niż index.php.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Szado
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 4
Dołączył: 30.05.2017

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


Średnio rozumiem o co Ci chodzi. Includowanie Twojego pliku 'config.php' i używanie połączenia z bazą stworzonego w innym pliku nijak ma się do zmiennych globalnych.
Sprawdziłeś istnienie ciasteczka 'hash', pod warunkiem którego wykonujesz zapytanie do bazy? Sprawdziłeś, czy w ogóle zapytanie zwraca wynik ($sql->rowCount() > 0)?
Go to the top of the page
+Quote Post
maxerxxl
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 29.03.2014

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


Zwraca normalnie. Problem jest właśnie z globalnymi funkcjami.

Moje funkcja wygląda tak
$user = true w pliku engine/config.php

Próbuję sprawdzić czy istnieje $user w pliku pages/main.php, lecz niestety cały czas nie może sprawdzić i pokazuje że nie istnieje to.
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Jeśli na tym samym poziomie pages i engine to ../engine/config.php. Jesli to funkcja to trzeba do funkcji zmienną przekazać. Jeśli zmienna to będzie widoczna.
Go to the top of the page
+Quote Post
maxerxxl
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 29.03.2014

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


Sprawdzałem. Nie pomogło.

Problem naprawiony.

Dzięki @up@up za pomoc (IMG:style_emoticons/default/wink.gif)
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: 25.08.2025 - 05:43