Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sesje i include'owanie
Forum PHP.pl > Forum > PHP
thomas2411
Heja,
Mam problem z includowaniem. Mam jeden główny plik z szablonem graficznym i jedną komórkę w tabeli, w której includuję inne pliki. Całość oparta jest na sesjach. Problem w tym, że includowany plik php, który muszę wywołać z parametrem (wywołuję go z pełną ścieżką http://www....../plik.php?....) jest także oparty o sesję. Plik includowany jest interpretowany, ale nie przesyłane są dane sesji, informujące o stanie zalogowania użytkownika. Zamiast pojawienia się w komórce wyniku zapytania z includowanego pliku, pojawia się komunikat o tym, że użytkownik nie jest zalogowany.
Ma ktoś pojęcie co z tym zrobić?

Dzięki

Tomek
crash
Po prostu session_start" title="Zobacz w manualu PHP" target="_manual() w dołączanym pliku.
thomas2411
Nie no session_start() jest...w tym problem właśnie, że nie wiem dlaczego to nie działa. W momencie gdy wywołuję includowany plik z parametrem podająć pełny adres http://..../plik.php?par=.... jest on interpretowany i tworzy się chyba nowa sesja....

Jeśli w pliku includowanym nie ma sprawdzania logowania i session_start() to wszystko działa,tyle że wiadomo, ze bedzie ten plik dostępny wszędzie. Problem pojawia sie przy przesyłąnia zmiennej
$HTTP_SESSION_VARS['prawid_admin'])

//---kod-----------------------------

<?php
@session_start();
require_once('funkcje.php');
if (!isset($HTTP_SESSION_VARS['prawid_admin']))
{
start_html();
echo '<center>Logowanie nie powiodło się. Sprawdź login i hasło i wprowadź ponownie<br><br></center>';
echo '<center><a href=index.htm class=admin>&gt;&gt;Logowanie</a></center>';
end_html();
exit();
}
else
{
?>

Treść strony

<?php
}
?>
yavaho
Kod
W momencie gdy wywołuję includowany plik z parametrem podająć pełny adres http://..../plik.php?par=....
Albo ja nie wiem o czym Ty piszesz, albo mylisz includowanie z linkiem do innej strony. Jak mozna includowac plik z parametrem?
include()" title="Zobacz w manualu PHP" target="_manual
Jedyny plik includowany w twoim kodzie to ten:
require_once('funkcje.php');
thomas2411
Z manuala, do którego dałes link:
//----------------------------------------------------------
Przykład 16-5. include() i protokół HTTP

<?php
/* Przykład ten zakłada, że serwer www.example.com jest tak skonfigurowany,
* że wykonuje skrypty w plikach .php natomiast nie wykonuje skryptów w plikach
* .txt. Pojęcie 'działa', znaczy tutaj, że zmienne $foo i $bar są dostępne
* we wczytywanym pliku */

// Nie działa: file.txt nie jest traktowany jak skrypt php
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Nie działa: php będzie szukać pliku o nazwie 'file.php?foo=1&bar=2'
// w lokalnym systemie plików
include 'file.php?foo=1&bar=2';

// Działa.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt'; // Działa.
include 'file.php'; // Działa.

?>
//------------------------------------------------------------------

Chyba, że źle coś zrozumiałem...
crash
No ale co ty niby chcesz osiągnąć? Bo piszesz tak jakbyś chciał przekazać dane sesyjne do includowanego zdalnego skryptu, co jest niemożliwe.
thomas2411
No i o to mi chodziło. Czyli nie da rady w includowanym pliku zastosować sesji. Dzięki za odpowiedź crashu biggrin.gif

A kwestia jest taka, ze główny plik jest oparty na sesji. Teraz jak includuje w nim jakiś plik ze skryptem, to chiałbym go jakoś zabezpieczyć. Żeby nie dało rady wywołać includowanego pliku php...

Dzięki za odpowiedzi

Pozdrawiam smile.gif
Belze
odswiezam temat..

mam problem podobny do thomas.. jesli sesje w pliku includowanym nie dzialaja, czy jest jakis sposob, niewiem przesylania zmiennych miedzy indexem a plikiem includowanym? tak zebym mogl go zabezpieczyc.. ?
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.