Back to top

Autore Topic: Illegal variable _files or _env or _get or _post or _cookie or _server or _sessi  (Letto 6142 volte)

Offline zanfe

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
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

Offline zanfe

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Qualcuno sa niente?

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Qualche soluzione l'hanno messa.
Ma se non lo hanno risolto del tutto sul forum ufficiale...


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline David

  • Appassionato
  • ***
  • Post: 320
  • Sesso: Maschio
    • Mostra profilo
in che periodo della giornata ti succede? hai molti accessi? hai controllato il traffico quando ti si crea il blocco?
la saggezza dell'uomo non è sapere ma capire

Offline thedevilman

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
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...

mau_develop

  • Visitatore
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.

Offline thedevilman

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
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 ...

mau_develop

  • Visitatore
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.
« Ultima modifica: 27 Giu 2010, 21:55:49 da mau_develop »

Offline dazo

  • Esploratore
  • **
  • Post: 169
    • Mostra profilo
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
Web Agency Roma
Web designer Seo

 



Web Design Bolzano Kreatif