Newsgroup: it.comp.www.php
Titolo: 4.0.6 versus 4.2.1

Ho sviluppato delle applicazioni sul mio pc usando 4.2.1
Ora volendole trasporre su sito web mi trovo col server che adotta
ancora il 4.0.6
Cosa tocca cambiare per far sě che girino?
Fanno ampio uso di form, variabili e db mysql.
Ciao e grazie
Claudio

, il 17 giu 2002, trasse un 
profondo sospiro e disse:

L'unica differenza sostanziale č che register globals č off per default.
Per il resto php fa le stesse cose di prima.
-- 
We hold these truths to be self-evident,
that all men are created equal,
that they are endowed by their Creator with certain unalienable Rights,
that among these are Life, Liberty, and the pursuit of Happiness

 Per il resto php fa le stesse cose di prima.
No.. non è esatto.. in realtà è un bel problema perchè se ha scritto
correttamente lo script con i nuovi  superglobal arrays ( $_POST, $_GET, etc
etc...) non gli funzionano perchè sono stati introdotti dalla 4.1.0

Appunto....
Esattamente questo.
Che devo fare?
Cla


devi cambiare quelle stringhe.. devi togliere i superglobal arrays e 
rimettere i settaggi delle variabili come prima
-- 
------------------------------------------------------------------------
Sostieni anche tu 
www.antijuve.com
------------------------------------------------------------------------

 ha scritto nel messaggio
news:DcsP8.29292$Kt3.7...@twister2.libero.it...

Cambierei hosting..
Sennò puoi crearti un qualcosa da mettere all'inizio degli script
temporaneamente (finchè resti su 4.0.6 & register globals on) in modo che ti
crei gli array che usi nello stesso..
<?php
//questi sono i valori che arrivano da form
$form_value1 = 5;
$form_value2 = "una stringa";
//qui creo l'array che ho usato nel mio script
$_POST = array (
 "form_value1"=>$form_value1,
 "form_value2"=> $form_value2
);
// e qui sono quelli che effettivamente già stai usando
echo "{$_POST['form_value1']} ***** {$_POST['form_value2']}";
?>
E' molto stringato.. sia chiaro.. solo per rendere l'idea.. poi vedi tu di
adeguarlo alle tue esigenze.
Se già l'hai scritto bene.. è un peccato tornare indietro solo per adeguarti
all'hosting.. cerca una soluzione temporanea.. ma ti sconsiglio di
riscrivere lo script alla vecchia maniera.

rimettere i settaggi delle variabili come prima
meglio un require in cui si crei le superglobals.
quando passerà ad un php più recente toglie il require ed è a posto.
mi sembra abbastanza pulita e mantenibile come soluzione.

Cioč?
Cosa devo fare esattamente?
Io ho le mie pagine funzionanti con $_POST[""] ecc
Che devo fare per non cambiarle?

 ha riferito
agli onorevoli membri di questo NG:

Dovresti aggiungere, come ti č stato suggerito, in ogni
script che fa uso dei vettori $_POST e $_GET ed altri, un
include() di uno script che ti esegue la conversione.
$_POST['var']=$HTTP_POST_VARS['var'];
Naturalmente, dovresti aiutarti con un ciclo che automatizzi
il tutto (un foreach ad esempio).
--
Oggi ho fatto una scoperta, ho trovato un computer...
The MentoR

E come potrebbe essere questo foreach?
foreach($_POST[""])
    $_POST[""]=$_HTTP_POST_VARS[""];
Cosě?
Cla


perche' facile se si puo' fare complicato:
<?
  $_POST=$_HTTP_POST_VARS;
?>

?>
Beh, effettivamente cosě dovrebbe andare!
--
I'm thinking about a cool signature:)
Coming soon...

Grazie mille!
Claudio

ancora il 4.0.6
Io ho esattamente il problema inverso! Ho del codice (tanto codice)
scritto senza utilizzare i superglobals array. Se il mio provider
decidesse di fare l'upgrade di php mi ritroverei con i siti che non
funzionano più? 
nel qual caso come posso far tornare tutto funzionante senza dover
rinominare tutte le variabili? (sarebbe veramente un lavoro
colossale!!)
Grazie in anticipo!
-- 
GyJex

il tutto (un foreach ad esempio).
il problema e' che $HTTP_POST_VARS e simili non sono superglobal e quindi
bisogna inserire anche la dichiarazione global all'interno delle funzioni
che usano 
E' un gran casino per chi ha server di produzione in php4.0.x e server di
test con le ultime versioni :(
-- 
Sidewinder  
---------------------------------------------------------------------
CCI Power 6/40: one board, a megabyte of cache, and an attitude...
---------------------------------------------------------------------

Credo che l'inverso funzioni.
Di solito si tende a mantere la compatibilitą all'indietro.
Perņ non so dirti nulla di certo, anche io non č che ci capisca molto :(
Cla


Ho cercato sul manuale di php per avere qualche informazione in più
(
http://www.php.net/manual/en/language.variables.predefined.php
).
e ho trovato cio che cercavo: "You can still force the old behaviour
by setting register_globals to 'On' in your php.ini file."
Saluti
-- 
GyJex