Newsgroup: it.comp.www.php
Titolo: require('prova.php'), ma non require('http://localhost/prova.php?var=1")

Da una pagina includo prova.php. Questa deve richiama una funzione da
un altra pagina già inclusa in principale.php. Il punto è: se
l'inclusione (effettuata in principale.php) avviene nel seguente modo
require('prova.php')
tutto funziona, se viene richiamata così
require('
http://localhost/prova.php?var=1
")
viene scritto "call to undefinie function". Naturalmente ho proprio
bisogno di passare var, e passandola non posso richiamare nel seguente
modo: require("prova.php?var=1")
Grazie e Ciao!

viene scritto "call to undefinie function".
non ho mai fatto una roba del genere, ma credo proprio che non possa 
funzionare xche' in quel modo il file prova.php dovrebbe generarti il codice 
php o html  che successivamente dovrebbe essere incluso in   principale.php
cerco di spiegarmi meglio.....
chiamando prova.php?var=1 il server esegue cio' che e' contenuto al suo 
interno (passando anche var=1), ma come se fosse un file indipendente dal 
resto  e generando o meno un output.
questo, poi viene incluso in principale.php ed eventualmente eseguito o 
visualizzato.
x quel che riguarda l'errore, probabilmente manca qualche funzione definita 
in principale.php (o altra parte). 

 viene scritto "call to undefinie function".
E ci mancherebbe !!!
Include viene fatto *PRIMA* del parsing.
Include prende un altro file e piazza il suo *contenuto* al posto della 
riga include.
*contenuto* NON vuol dire risultato del parsing, significa proprio 
*contenuto*.
ciao, f.

 modo: require("prova.php?var=1")
ti basta fare
$_GET['var'] = 1;
require('prova.php');

require('
http://localhost/prova.php?var=1
")
con include e require non fai altro che una specie di "copia e incolla" del 
file dentro il codice corrente, con la piccola particolarità che prima 
dell'inclusione viene chiuso il tag <?php, e riaperto dopo l'inclusione.
Puoi O come ti è stato suggerito impostare un $_GET['var']=1 prima 
dell'inclusione, oppure, se vuoi fare anche il redirect del browser, fare:
header("location:prova.php?var=1");
// e se vuoi che l'esecuzione si interrompa-> exit();
ovviamente questo se non mandi nessun altro output prima.
ciao,
Luca(riello)

 $_GET['var'] = 1;
IMHO è una porcata.
$_GET si legge, non si assegna a mano. Perderebbe il suo significato.
ciao, f.

Cujo wrote:

ma no cujo, è un array come un altro.
e come dire che scrivere su una sessione già impostata non va bene.
io lo uso di tanto in tanto e ne sono particolarmente contento. 
-- 
rotolando sul pavimento che ride

 dall'essere una porcata.
Fammi capire... è considerata porchieria manipolare il valore del 
contatore
all'interno di un ciclo for ??
Ossia, il contatore dovrebbe solo incrementarsi (o decrementarsi) di 
una unità?
Ciao! 

 all'interno di un ciclo for ??
Io la considero tale.
Il codice risultante è fuorviante da leggere, difficile da manutenere e
tale porcata può SEMPRE essere eliminata usando costrutti meno
incasinati.
Non "discuto" che "funzioni"... dico solo che - IMHO - è fondamentale
tenere in considerazione la QUALITA' del software, comprese le parti che
"non si vedono".
Lo ripeto, pensa al caso in cui qualcun altro dovrà modificare il
software fatto così.


 software fatto così.
D'accordissimo ;-)
almeno che non ci sia sopra un bel commentone di mezza pagina che 
spiega
l'artefatto :p
ciao! 

 $_GET si legge, non si assegna a mano. Perderebbe il suo significato.
hai delle alternative da proporre o ti limiti a dichiarare cosa e' una
porcata e cosa no?

 porcata e cosa no?
Si, certamente.
Se stai includendo qualcosa che, per produrre l'output, necessita gli si 
passi un parametro, qual qualcosa č assimilabile ad una function.
Per cui dichiara una function, e chiamala nel punto opportuno del codice 
con il parametro corretto senza zozzare array globali destinati ad altro.
Tale function , se ci tieni tanto, potrai anche includerla da file esterno.
Se vuoi un consiglio piů "mirato", mi serve un po' di codice "di 
contorno" in piů ...
ciao, f.

 
dunque, ti porto il mio esempio.
1) a me serve un modulo per le nice url.
2) mod_rewrite si impalla alla 10° backreference
3) ho più di $0-9 backreference.
4) il programma deve leggere i dati dal $_GET evidentemente, poiché è stato
iniziato così e cambiarlo in corsa sarebbe un macello.
cosa ne dici. la fai una pagina in php che genera un $_GET come ti serve o
no?
fammi sapere!


 software fatto così.
Beh... potrebbe essere una buona cosa invece :)
ciao,
Luca(riello) 

...scusate se interrompo questa discussione così accesa :) . Alla fine
ho optato per la soluzione più semplice: ho definito una comunissima
veriabile prima dell'inclusione
Ciao e grazie a tutti