Joomla.it Forum

Non solo Joomla... => Sezione dedicata ai Server => : zanfe 20 Oct 2006, 17:27:18

: Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: zanfe 20 Oct 2006, 17:27:18
Ciao a tutti,
spesso durante la giornata appare questo messaggio e per far ripartire il sito bisogna riavviare Apache:
Illegal variable _files or _env or _get or _post or _cookie or _server or _session or globals passed to script.

Questo mi succede solo da quando ho aggiornato alla versione 1.0.11 di Joomla.

Ho visto che il problema non è capitato solo a me:

http://forum.joomla.org/index.php/topic,95771.msg482188.html#msg482188
http://forum.joomla.org/index.php?topic=100576.msg503802

ma non ci sono soluzioni definitive, qualcuno sa qualcosa a riguardo?

Grazie

Ciao
Z
: Re: Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: zanfe 23 Nov 2006, 13:01:19
Qualcuno sa niente?
: Re: Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: napo 23 Nov 2006, 13:17:11
Qualche soluzione l'hanno messa.
Ma se non lo hanno risolto del tutto sul forum ufficiale...
: Re: Illegal variable _files or _env or _get or _post or _cookie or _server or _s
: David 03 Dec 2006, 20:47:00
in che periodo della giornata ti succede? hai molti accessi? hai controllato il traffico quando ti si crea il blocco?
: Re:Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: thedevilman 27 Jun 2010, 20:10:39
Anche io ho lo stesso problema....

HO creato un form nel quale è possibile specificare 18 componenti di una squadra che si selezionano da dei campi select e la giornata di campionato sempre con una select

al form ci si arriva dopo un'altro form nel quale si specifica il nome della squadra
questo perchè non riesco ad estrapolare dall'array il valore di $user

$user =& JFactory::getUser();
print_r($user);
(mi stampa correttamente l'array.....)

ma se provo a stampare il valore con
print_r ($user['username']);
o
echo $user['username'];
che mi manda in blocco la pagina ...

comunque dicevo
una volta selezionati i 18 giocvatori e la giornata dando l'invio mi compare il famoso messaggio
"Illegal variable _files or _env or _get or _post  or _cookie or _server or _session or globals  passed to script"

e non riesco a venirne fuori...
: Re:Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: mau_develop 27 Jun 2010, 20:35:37
ma se provo a stampare il valore con
print_r ($user['username']);
o
echo $user['username'];
che mi manda in blocco la pagina ...

ti manca il concetto di OOP, non puoi accedere alle classi in quel modo.

se la classe crea l'oggetto username come public allora puoi recuperarlo

print_r($user->username);

altrimenti la classe potrebbe avere un suo metodo per estrarre l'oggetto username private o protected, in qs caso dovresti fare (invento il metodo)

print_r( $user->GetUsername() );

----------------------------------------
comunque dicevo
una volta selezionati i 18 giocvatori e la giornata dando l'invio mi compare il famoso messaggio
"Illegal variable _files or _env or _get or _post  or _cookie or _server or _session or globals  passed to script"
----------------------------------------

se hai fatto gli script con quel concetto chissà che variabili stai passando, altro che illegal

M.
: Re:Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: thedevilman 27 Jun 2010, 21:17:52
Grazie Mau...
come darti torto.... le lacune ci sono eccome...

effettivamente l'utente è un publisher e deve rimanere tale.. quindi niente public..
ho provato la  print_r ($user->GetUsername() );
ma non va..

Non riesco comunque a capire perchè
$user =& JFactory::getUser();
print_r($user);

lo prende e stampa a video correttamente
mentre
print_r ($user->GetUsername() );
mi fa sparire il layout della pagina mantenedo soltanto il testo dell'articolo (in questo caso il form importato con jumy)

Per quanto riguarda i 18 giocatori
<FORM NAME="invia_form" METHOD="post" ACCEPT="jpg,gif" ACTION="">
....
--- segue connessione al db ---
$query_n_1 = "SELECT * FROM " . $giocatori . " WHERE id_ruolo = 0 AND id_team = " . $idsq . " ORDER BY nome";
$res_n_1 = mysql_query($query_n_1, $conn);

echo "<SELECT NAME = 1>";
echo "<OPTION></OPTION>";
while($n_1 = mysql_fetch_array($res_n_1))
{                                                         
echo "<OPTION VALUE = \"" . $n_1["id_gioc"] . "\">" . $n_1["id_gioc"] . " " . $n_1["nome"] . "</OPTION>";
                                             }
echo "</SELECT>&nbsp;P<BR><BR>";
---- ecc ecc x 18 volte ---

tutto viene estrapolato da delle tabelle che ho aggiunto al db joomla e non dovrebbero avere restrizioni...
tutte le variabili passate dovrebbero essere _POST
Come posso fare a capirci qualcosa in più... nel sito passo altre variabili nello stesso modo (mi riferisco ai giocatori) e funziona

Premessa: questo form l'ho utilizzato per la vecchia versione del sito... non in joomla ovviamente... ma un semplice sito php/mysql e tutto andava perfettamente... adesso sto provando a sfruttarlo anche nella nuova versione del sito ...
: Re:Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: mau_develop 27 Jun 2010, 21:52:06
ti è sfuggito la parte tra parentesi dove dico invento il metodo  :)

effettivamente l'utente è un publisher e deve rimanere tale.. quindi niente public..
----------------------------------------------------------------


mmhhh no, ancora OOP :)

..allora, il tuo script è già all'interno del framework di joomla

il framework di joomla è composto da una serie di classi ed estensioni di classi.

Ogni classe è un "box" chiuso verso l'esterno dove vengono processate n variabili

alcune servono solo a processarne altre altre serviranno alle altre classi .

quando crei un componente scrivi un estensione della classe da cui erediti gli oggetti resi pubblici e dei metodi

all'interno della classe pluto creo un oggetto

$this->username, se nella classe metto private $username quella var sarà visibile solo all'interno della classe, se metto public username la avrò disponibile quando istanzio la classe

$classe = new pluto;

$class->username  e accedo all'oggetto.

sempre all'interno della classe posso però rendere private $username e per recuperarlo inserire un metodo

function GetUsername(){
 return $this->username;
}

M.
: Re:Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi
: dazo 14 Jul 2010, 17:58:35
Ciao so che il post è vecchissimo ma mi è capitato giusto oggi lo stesso problema mentre stavo scrivendo un componente per joomla 1.6

Illegal variable bla bla... non mi si blocca apache però è fastidioso.

Dal tipo di scritta il problema secondo me risiede in JRequest::getVar()
e almeno nel mio caso era derivato da un campo di input che come name aveva un numero
es:
<input name= "52" />
lasciando questo campo vuoto (non ho fatto test accurati perché poi ho risolto) e cercando di salvare tornava sempre questa fastidiosa scritta.

sostituendo il nome
<input name="pippo" />

il problema mi sembra del tutto scomparso.


Ciao