Newsgroup: it.comp.www.server
Titolo: Server Apache, Form e Variabili d'ambiente (su Virtuo della NGI)

Buongiorno a tutti.
Provo a sottoporre a voi un problema che sto incontrando nel trasferimento 
dei siti da un servizio di hosting a un Virtual Private Server.
Il Virtual Private Server e' su Linux e io lo gestisco tramite il pannello 
di controllo PLESK, ma probabilmente posso avere accesso anche alla shell 
tramite command line.
Ecco il problema: in tutti i siti che ho trasferito NON FUNZIONANO I FORM.
In una pagina il form chiaramente raccoglie i dati dei campi all'interno di 
variabili. Le variabili abitualmente vengono passate alla pagina che 
processa il form. Su tutti gli spazio web e anche su tutti i VPS che ho 
avuto fino a oggi non dovevo fare nient'altro che spostare i files e tutto 
funzionava correttamente.
Sul nuovo server (Virtuo della NGI) questo non accade. Quando clicco sul 
SUBMIT del form, i dati non vengono passati alla pagina che li deve 
processare. Per esempio: ho un form che raccoglie i dati e che nella pagina 
di destinazione oltre che spedirli via email li visualizza sullo schermo 
come riepilogo.
La pagina che dovrebbe visualizzare il riepilogo visualizza invece i 
messaggi di avviso che dicono NON HAI INSERITO IL NOME, NON HAI INSERITO IL 
COGNOME ecc.
Un secondo problema (che io credo collegato sempre alla stessa origine) e' 
quello delle pagine dinamiche basate su PHP/MySql.
Prendiamo l'esempio delle NEWS di un sito. La pagina ELENCO delle News 
visualizza correttamente i titoli delle notizie prelevati dal database 
tramite una query.
Quando clicco sul titolo il link contenuto nel titolo si sposta sulla pagina 
CONTENUTO della News, portando in quella pagina l'id della notizia (per 
intenderci: pagina_contenuto.php?selezione=12 -  dove 12 e' l'id della 
notizia che si vuole visualizzare). Ecco, anche in questo caso il valore non 
viene riportato nella pagina che deve visualizzare la notizia e quindi io 
vedo il messaggio che ho preimpostato in caso di contenuto mancante ("non ci 
sono dettagli per questa notizia").
Secondo me la matrice dei due problemi e' sempre la stessa.
Il supporto della società che gestisce questo servizio non è in grado di 
aiutarmi. Qualcuno è in grado di darmi qualche indicazione? Come posso 
risolvere il problema? Tenete presente che io non ho alcuna idea né di come 
funzioni Apache né sono un esperto di Linux. Le mie competenze si fermano a 
PHP e MySql.
Se le indicazioni in risposta alla mia domanda dovessero essere troppo 
complesse, le inoltrero' ai tecnici che certamente sapranno come 
interpretarle.
Cordiali saluti,
Marco Morello
Gandini&Rendina soluzioni interattive srl

 della notizia che si vuole visualizzare).
sembra un problema legato al passaggio di variabili di tipo POST e di tipo 
GET
potresti fare una prova del tipo
farti stampare tutte le variabili
prova questo in una pagina php
foreach($_POST as $key=>$value)
    echo $key.$value;
e lo stesso puoi fare con $_GET
che versione di php aveva il server dove gli script funzionavano ? e adesso 
che versione hai installata ?

 adesso che versione hai installata ?
La versione di PHP sul vecchio server, dove tutto funzionava, era la 4.3.4
La versione di PHP sul nuovo server (lo scopro adesso con disappunto) è la 
4.3.11
Per l'altra indicazione, provo a fare quello che mi hai consigliato
foreach($_POST as $key=>$value)
    echo $key.$value;
... ma non ho capito a che cosa serve. Devo inserirlo nella pagina del form 
che voglio testare? Oppure devo creare una pagina vuota e metterci dentro 
questo script? (mi sa che e' la seconda che ho detto, perche' con la prima 
non viene visualizzato nulla).
In ogni caso grazie.
A presto,
Marco (web[nientespam]@
gandini-rendina.com
)

 Le mie competenze si fermano a PHP e MySql.
E forse nemmeno quelle.
Mai sentito parlare di register_globals?
http://it2.php.net/register_globals
-- 
Son giunto alla conclusione che, almeno una volta nella vita, bisogna
usare Windows a fondo, perche' e' un'esperienza che rende uomini.
Almeno, io, dopo, ho sempre due palle cosi'.
                                                            Leonardo 
Serni

 non viene visualizzato nulla).
si nella pagina di destinazione del form ..........
cosa visualizzi ?

 Buongiorno a tutti.
probabilmente hai register_globals su off
impara a programmare come si deve, si usano $_GET e $_POST .. 

 ha scritto nel messaggio
news:9i2df.2464$k85....@tornado.fastwebnet.it...


 ha scritto nel messaggio
news:9i2df.2464$k85....@tornado.fastwebnet.it...


 I FORM. 
ho risolto ieri questo problema. Il fatto č che danno in quelle distro 
apache/mysql e php installati alla bella e buona..
Ad ogni modo:
/etc/php.ini
prima cosa setta l'error:
error_reporting  = E_ALL & ~E_NOTICE
cosě hai modo di verificare i vari errori e solo quelli veri ed 
importanti, poi:
register_globals = On
allow_call_time_pass_reference = On (qui il mistero)
----------------------------------------------------
safe_mode = Off (altrimenti alcune funz non ti andranno)
se non ricordo male č tutto.
Ovviamente devi riavviare apache:
/etc/rc.d/init.d/httpd restart
-- 
Ciao, Dmitry
I've a dream... bring usenet to every family 

 safe_mode = Off (altrimenti alcune funz non ti andranno)
Beh complimentoni, una configurazione di tutto rispetto devo dire eh.
E meno male che queste dannate distro danno "apache/mysql e php 
installati alla bella e buona" altrimenti come farebbero i sysadmin 
come te a sistemare le cose.
-- 
Devi sapere che l'Universo puo' essere visto come una battaglia fra i
sistemisti, che cercano di realizzare sistemi a prova d'idiota, e Dio
che crea idioti sempre piu' sofisticati. Inutile dire che, per ora, Dio 
sta vincendo.                                           Leonardo Serni

 come te a sistemare le cose.
per un utente medio sai bene che è meglio semplificare le cose. Poi hai 
mille modi per rendere cmq sicuro il tuo codice. Certo, con safe_mode 
off abbassi qualche barriera ma non significa che non puoi fare del 
buon codice.


 >rendere il sistema non utilizzabile ma in modo sottile ?
Se NT puo' installarsi via FTP, e' la tua risposta.
 
Leonardo Serni