Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przesyłanie zmiennych sesji
Forum PHP.pl > Forum > Przedszkole
Wojciechovsky
Witam wszystkich, z racji tego, że w PHP siedzę od niedawna chciałbym zapytać o następujący problem:
mam dwa pliki - login.php i user.php, chciałbym wywołać zapytanie w pliku login.php (dokładnie to $sql3), a następnie wynik zapytania przesłać zmienną sesyjną do pliku user.php i ją wyświetlić.

Po poprawnym zalogowaniu:
  1. $sql3 = "SELECT NOW()"; //Zapytanie o datę i czas bazę danych
  2. $result3=@$connection->query($sql3); //Wywołanie zapytania i przypisanie wyniku do zmiennej result3
  3. $_SESSION['czas']=$result3;


W pliku, gdzie będę wyświetlał datę
  1. echo $_SESSION['czas'];


Otrzymany błąd: Notice: Undefined index: czas
Kshyhoo
A jak inicjujesz sesje w plikach?
Masz komunikat, że taki index nie istnieje...
Wojciechovsky
W obu plikach na samym początku mam session_start() i to co wyżej podałem.

Przed momentem zmieniłem w pliku login.php:
  1. $sql3 = "SELECT NOW()"; //Zapytanie o datę i czas bazę danych
  2. $_SESSION['czas']=@$connection->query($sql3); //Wywołanie zapytania i przypisanie wyniku do zmiennej result3


I zmienił się błąd na Catchable fatal error: Object of class mysqli_result could not be converted to string in [...]
Czy w takim razie powinienem to w jakiś sposób przekonwertować (datę na string)?

W tym samym pliku mam też inną zmienną sesyjną:
  1. $_SESSION['czyZalogowany']=true;

I gdy ją wywołuję w pliku user.php, to zwraca poprawną wartość, tylko dla tej daty nie chce.
com
poco ta @ ? jak testujesz i nie potrafisz samemu napisać to jej się nie stawia bo nie widzisz błędów smile.gif skoro używasz mysqli to musisz jeszcze te dane z bazy pobrać a dopiero potem wrzucać do sesji smile.gif
b4rt3kk
Czas z bazy jest inny niż czas serwera? Jeśli nie, to nie możesz użyć funkcji z php date?

Zrób sobie dumpa swojej funkcji:

  1. $sql3 = "SELECT NOW()"; //Zapytanie o datę i czas bazę danych
  2. $res = $connection->query($sql3);
  3. var_dump($res);
  4. $_SESSION['czas']=$res //Wywołanie zapytania i przypisanie wyniku do zmiennej result3
com
dump mu powie przecież ze ma obiekt z bazy, a nie wyniki. W pdo query zwraca od razu dane smile.gif
b4rt3kk
Cytat(com @ 24.03.2015, 13:19:58 ) *
dump mu powie przecież ze ma obiekt z bazy, a nie wyniki. W pdo query zwraca od razu dane smile.gif


O ile obiekt $connection to faktycznie obiekt PDO, a nie jakiś jego własny do obsługi połączenia. W końcu pokazał tylko fragment kodu.
com
Ale to mysqli jest, nie zrozumieliśmy sie smile.gif tak w pdo to sie zgadza
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.