Newsgroup: it.comp.www.php
Titolo: variabile $_SERVER['PHP_SELF']

salve a tutti,
sul mio FreeBSD ho Apache configurato con DocumentRoot "/usr/local/www/data"
e sotto questa dir ho tre sottodirectory in cui ho tre programmi per tre sedi
diverse ... quindi /usr/local/www/data/uno/, /usr/local/www/data/due/ e /tre/.
una volta messi a punto i programmi, ho installato su uno dei server il
programma, ovviamente direttamente sotto la Root "/usr/local/www/data" ...
i file sono in formato
$ctrl=$_POST['ctrl'];
if (!isset($ctrl))
{
	echo '<form action='.$_SERVER['PHP_SELF'].' method=post>';
	/* immetti i dati */
}
else
{
	/* salva i dati immessi */
}
quando ho fatto la prova, mi carica la prima pagina, ma poi non riesce ad
inviare i dati alla seconda pagina, cioe' a se stessa ...
ho stampato la variabile $_SERVER['PHP_SELF'] e mi esce
//Funzioni/Uno.php
con un doppio slash iniziale ... ho poi risolto mettendo la index.html sotto la
root e creando una sottodir /uno/ come sul server di sviluppo e tutto funziona,
ma volevo sapere come potevo risolvere lasciando tutti i file sotto la Root
directory ...
grazie anticipate ... e spero di essere stato chiaro ;-))
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}

 grazie anticipate ... e spero di essere stato chiaro ;-))
No.. non sei stato chiaro.. ma ci provo lo stesso...
Sei sicuro che in httpd.conf tu abbia messo come DocumentRoot 
"/usr/local/www/data" e non "/usr/local/www/data/"?
--
RTFM!

 "/usr/local/www/data" e non "/usr/local/www/data/"?
sicuro ... e' un problema mio con $_SERVER['PHP_SELF'] ... se il file e' in una
sotto directory del DocumentRoot $_SERVER['PHP_SELF'] diventa
//Query/Stat.php
e non riesce il caricamento, come se non trovasse la pagina ... se invece metto
il file in una sottodirectory la pagina viene caricata tranquillamente :
esempio:
in /usr/local/www/data
index.html
seconda.php		/* che redirige alle varie funzioni */
in /usr/local/www/data/Query/
Stat.php		/* carica SOLO la prima pagina, e al submit non va */
*****************************
se invece metto 
in /usr/local/www/data 
SOLO index.html
in /usr/local/www/data/uno 
seconda.php 
in /usr/local/www/data/uno/Query
Stat.php
tutto funziona alla perfezione, dato che $_SERVER['PHP_SELF'] viene "tradotta"
in /uno/Query/Stat.php, senza il // iniziale ...
ciao ... e grazie per la risposta ...



Ciao,
hai provato a cambiare la cfg di Apache da
DocumentRoot "/usr/local/www/data" a
"//usr//local//www//data"
Ciao
CR

	echo '<form action='.$_SERVER['PHP_SELF'].' method=post>';
Prova a sostituire con:
	<form method="post">
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 wrote:
grazie a tutti lo stesso ... non funziona in nessuno dei modi  che mi avete 
consigliato ...
comunque funziona con la sottodir ... era solo una curiosita' ... 
ciao ...


 il file in una sottodirectory la pagina viene caricata tranquillamente :
E se risolvi con un preg?
  $path=preg_replace("/^\/\/","\/", $path); // non provato