Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Globalne zmienne
Forum PHP.pl > Forum > PHP
maxerxxl
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.

Szado
Ś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)?
maxerxxl
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.
viking
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.
maxerxxl
Sprawdzałem. Nie pomogło.

Problem naprawiony.

Dzięki @up@up za pomoc wink.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.