funzione Require postato il 06/08/2011 15:19:47 nel forum programmazione, gdrcd, open source, hosting e modificato da nodd il 06/08/2011 15:20:24
Salve a tutti raga....
Sto creando un gdr da 0,devo dire che sto effettuando progressi notevoli implementando anche il framework Prototype all'interno della Land.
Soltanto che ora ho intoppato in una falla...
All'interno di una cartella di nome chat (Path completo: xxx/internogdr/chat/) ho dei file,precisamente
- chat_azioni.php
- chat_input.php
- chat_globale.php
nel file chat_globale.php ho un richiamo,con la funzione require,ai file chat_azioni.php e chat_input.php
I richiami sn questi:
Pagine → 1
06/08/2011 15:36:26
Se sei assolutamente certo che il problema dei percorsi non sussista, prova ad inserire solo il nome dei file nell'istruzione di require, usando i parametri della get come secondo argomento della funzione.
06/08/2011 15:40:08
Esiste anche la chat con id 99?
06/08/2011 15:51:51
Certo!...
La Chat esiste(ID=99).....cmq ho provato ma niente,sempre solito errore!
06/08/2011 19:47:37 e modificato da leoblacksoul il 06/08/2011 20:41:41
Come diceva un mio amico: "Cosa vedono le mie orecchie" XD
OK sorry XD
Il tuo errore è di concetto. Ti spiego: PHP lavora dall'interno del server, e quando si tratta di accedere ad altri file nel server lui accede sempre a livello di filesystem, NON a livello di rete. Ci sono alcune funzioni di PHP in grado di interagire sia con il filesystem che con altri file sulla rete, ma require() non è una di queste.
Quello che tu stai facendo è tentare di accedere a quel file come se tu stessi accedendo dalla rete, cioè con argomento di require() hai inserito un indirizzo che sarebbe quello che scriveresti nell'attributo src di un iframe. Quando lo scrivi in un iframe è tutto a posto, dato che HTML lavora sulla rete dato che è una tecnologia lato client, ma non puoi scriverlo in PHP.
Il problema sta nel fatto che stai cercando di passare degli argomenti GET alla pagina (cioè stai mettendo '?variabile1=1&var2=2'), ma sfortunatamente le richieste GET sono valide solo nel protocollo HTTP, non su filesystem. In pratica require() sta cercando di aprire un file chiamato 'chat_input.php?ID_Chat=99', che ovviamente non esiste nella tua cartella.
Come si risolve il tuo problema? Molto semplicemente. Le funzioni require() e include() di PHP funzionano come la direttiva #include di C, cioè non fanno altro che prendere un file e 'copia-incollare' il suo contenuto nel punto esatto dove c'è la chiamata a require(), a tutti i livelli pratici è come se tu copiassi a mano il contenuto del file incluso dentro al quello che fa l'inclusione, il risultato sarebbe lo stesso. Quindi questo cosa significa? Significa che i due codici sono nello stesso scope. Cioè, significa che le variabili dei due file possono interagire tra di loro come se fossero nella stesso file.
Quindi per esempio questo funziona perfettamente:
06/08/2011 20:01:11
Il che era quello che ti avevo detto :-) Per curiosità, ci posti il codice che dicevi non funzionante dopo il primo post?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Ex Gratia GDR: Nuova Entità: Sun Wukong!
Sea of Conquest → Vivi un'avventura tra i mari! Dal cuore del Mare del Diavolo, un paradiso piratesco brulicante di magia, tesori e avventure, salperai verso l'ignoto!
Nyx Insight - Project S.E.T.: Comunicazione del Rettorato - Gli Sport arrivano
black sails chronicles si è accreditato come gestore di Black Sails Chronicles
Nuovo Play by Chat Fantasy → Black Sails Chronicles
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
Entropia Universe: Crafting Mania!
Ex Gratia GDR: Traumi e dove trovarne...
pyro72 ha recensito Crash Bandicoot Zone
blackmirror ha recensito Apocalypse Requiem: Detroit
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Dissendium Draconis: Modifiche e Implementazioni: Pozioni
Le Cronache di Raja Dunia: Il Vuoto ed i suoi Principi Demoniaci
masters league si è accreditato come gestore di Masters League
Ex Gratia GDR: Nuova Entità: Ichirei!
Sponsorizzati con noi! → Sponsorizza il tuo gioco su GDR-online! Trova nuovi giocatori fra i migliaia di appassionati che ogni giorno visitano il portale!
Sondaggio Gdr 2006 - Risultati del sondaggio 2006 svolto sul fenomeno dei GdR
Leiji Matsumoto - Il Cinema d'Animazione di Leiji Matsumoto.. il creatore di Capitan Harlock!
Console o Pc? - L'eterna sfida del Gaming: Console o PC?
Codici di Stato HTTP - Guida ai codici di Stato HTTP e relativi errori! Navighiamo informati!
MyCharBook - Intervista all'ideatrice del servizio online gratuito per creare e memorizzare le schede dei propri personaggi!
ICQ chiude! - ICQ: cala il sipario sul pioniere della messaggistica istantanea e storica fucina per i giocatori di Play by Chat
The Black Eye - Intervista al gestore del play by chat storico-piratesco The Black Eye! Ahoy!
GdR su FreeForumZone - Lista dei giochi di ruolo play by forum sul circuito FreeForumZone