Newsgroup: it.comp.www.php
Titolo: Problema con cookies ed include()

Salve a tutti,
come da subject, ho un problema con i cookies.
Nell'applicazione su cui sto lavorando, viene caricata la pagina
"view.php" all'interno della quale imposto un cookie con la funzione
classica setcookie(). Qualche riga più sotto includo un nuovo file
"SFO_index.php", dal quale riesco ad accedere senza problemi al cookie
memorizzato, con l'array $_COOKIE. Da questo file ne includo un terzo
("SFO_manage.php") all'interno del quale, però, non riesco ad accedere
al cookie di cui sopra.
Il codice rilevante è il seguente:
- pagina view.php
// Prova di impostazione dei cookie ($CFG->wwwroot contiene un URL)
    $moodle_www_root = $CFG->wwwroot;
    setcookie("TestCookie", $moodle_www_root, time()+60*60*24*30);
// Include dell'index.php
    $result =  include('SFO_index.php');
- pagina SFO_index.php
// Prova di visualizzazione del cookie (stampato correttamente)
   echo "cookie: " . $_COOKIE["TestCookie"] . "<br>";
// Richiamo al file "SFO_manage.php"
include($CFG->wwwroot.$appPath.'SFO_manage.php?action=browse&path='.
rawurlencode(dirname($_SERVER['PHP_SELF']).'/').'&sortField=name&sortDir=asc&nome_breve='.$course->shortname);
- pagina SFO_manage.php
// Prova di visualizzazione del cookie (non viene stampato niente)
    echo "cookie: " . $_COOKIE["TestCookie"];
Aggiungo che nella pagina SFO_manage.php ci sono, prima del tentativo
di stampa del cookie, alcune righe di cui non conosco benissimo il
significato:
set_magic_quotes_runtime(0);
ini_set('allow_url_fopen', '0');
error_reporting($errLevel);
ini_set('error_log', $serverRoot.$errorLogsPath);
ini_set('log_errors', '1');
ini_set('display_errors', $viewErrors);
if ($viewErrors == '0') {
	// Richiamo al file "errorHandler.php"
	require_once('SFO_errorHandler.php');
	set_error_handler('errorHandler');
}
if ($allowCookies) {
	ini_set('session.use_cookies', '1');
}
else {
	ini_set('session.use_cookies', '0');
}
Se qualcuno riuscisse a darmi una dritta gliene sarei infinitamente
grato... :-/
Saluti,
-- 
Fabio Ruini
msn: 
f_r...@hotmail.com
skype: fabio.ruini - icq: 2887596
www: 
http://www.webalice.it/fabio.ruini

 grato... :-/
[quoto 
http://www.php.net/setcookie
]
Once the cookies have been set, they can be accessed on the NEXT PAGE
LOAD with the $_COOKIE or $HTTP_COOKIE_VARS arrays.
[/quoto]
Ossia, per accedervi "immediatamente" devi utilizzare il seguente
codice:
setcookie ("TestCookie", $moodle_www_root, time () + 60 * 60 * 24 * 30);
$_COOKIE['TestCookie'] = $moodle_www_root;
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
L'uomo, conscio di sbagliare, persevera.

$_COOKIE['TestCookie'] = $moodle_www_root;
Sigh... continua a non volerne sapere di funzionare... :-(
Notice: Undefined index: TestCookie in
c:\programmi\easyphp1-7\www\moodle\mod\groupware\sfo_manage.php on
line 27


 Sigh... continua a non volerne sapere di funzionare... :-(
IMHO il codice che ti ho suggerito non viene eseguito (es. per un if
etc.), altrimenti il notice non puo' venire sollevato.
-- 
I am what I am, I do what I can


etc.), altrimenti il notice non puo' venire sollevato.
Onestamente non conosco il comportamento del notice, perņ il codice
sono sicuro venga eseguito, perchč l'ho provato a mettere anche come
prima riga dello script, ma nisba... :-/


 include($CFG->wwwroot.$appPath.'SFO_manage.php?action=browse&path='.
Stai includendo SFO_manage.php via HTTP? Se e' cosi' non puo'
ovviamente leffere i cookie e nemmeno $_COOKIE etc.


ovviamente leffere i cookie e nemmeno $_COOKIE etc.
Ah... speravo che il non ereditare lo scope delle variabili da parte
di una file incluso via http, lasciasse comunque aperta la possibilità
di passare variabili attraverso cookies o sessioni.
Niente da fare... tramontata anche questa ipotesi!
L'unico metodo è dunque passare le variabili che mi servono attraverso
l'URL (GET/POST)? :-/
