Per locale intendi guardando il file direttamente da hard disk senza usare il web server? in questo caso effettivamente la pagina non trova i css, però se usi php per costriure le pagine difficilmente puoi fare a meno del web server per vedere le pagine.conraid ha scritto:Ti rispondo nel mio caso: perché in locale non funziona in questo modo. Ed ho bisogno di far si che mi funzioni sempre in egual modo
Alla ricerca delle funzioni perdute
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- puzuma
- Linux 2.x
- Messaggi: 482
- Iscritto il: mar 4 lug 2006, 17:14
- Nome Cognome: Stefano Salvador
- Slackware: current
- Kernel: 2.6.32.2
- Desktop: KDE 4.4.0
- Località: Udine
- Contatta:
Re: Alla ricerca delle funzioni perdute
The quiet ones are the ones who change the world. The loud ones only take the credit.
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Alla ricerca delle funzioni perdute
No, intendo con webserver ma in localhostpuzuma ha scritto:Per locale intendi guardando il file direttamente da hard disk senza usare il web server? in questo caso effettivamente la pagina non trova i css, però se usi php per costriure le pagine difficilmente puoi fare a meno del web server per vedere le pagine.conraid ha scritto:Ti rispondo nel mio caso: perché in locale non funziona in questo modo. Ed ho bisogno di far si che mi funzioni sempre in egual modo
se metto un / davanti a tutto diventa il path di root. E senza virtual server, etc... è difficile.
Io uso una dir e tutto in sottodir.
Quindi un sito che va per esempio in http://www.slacky.eu nel mio pc sarà http://localhost/slacky
E quindi come puo capire se metto /path lui poi sballa perché cerca il file nella dir htdocs e non htdocs/slacky
Spero di essermi spiegato
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Alla ricerca delle funzioni perdute
Azz... e sarebbe?Comunque l'unico libro che ho trovato fatto bene è quello che non hai preso
Dopo cena vedo se riesco a sperimentare un poco...
M.
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Alla ricerca delle funzioni perdute
Sviluppare applicazioni web con PHP e MySQL, di Mark Wandschneider, Apogeosamiel ha scritto:Azz... e sarebbe?Comunque l'unico libro che ho trovato fatto bene è quello che non hai preso
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Alla ricerca delle funzioni perdute
No, sopra ho appunto detto che lo sto vedendo!
Però questi "trucchi" e queste strategie non è che le racconti...
M.
Però questi "trucchi" e queste strategie non è che le racconti...
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Alla ricerca delle funzioni perdute
Io uso un sistema molto semplice (come al solito ).conraid ha scritto:No, intendo con webserver ma in localhost
se metto un / davanti a tutto diventa il path di root. E senza virtual server, etc... è difficile.
Io uso una dir e tutto in sottodir.
Quindi un sito che va per esempio in http://www.slacky.eu nel mio pc sarà http://localhost/slacky
E quindi come puo capire se metto /path lui poi sballa perché cerca il file nella dir htdocs e non htdocs/slacky
Tengo un file di configurazione in cui definisco i percorsi su delle costanti e lo diversifico tra remoto e locale.
A esempio, il file remoto sarà così:
Codice: Seleziona tutto
define("CONST_URL","http://www.slacky.eu");
define("CONST_PATH","/var/www/htdocs/");
// etc.
Codice: Seleziona tutto
define("CONST_URL","http://localhost/slacky");
define("CONST_PATH","/home/web/slacky/");
// etc.
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Alla ricerca delle funzioni perdute
Ricordavo da un precedente post che non l'avevi.samiel ha scritto:No, sopra ho appunto detto che lo sto vedendo!
Però questi "trucchi" e queste strategie non è che le racconti...
M.
Comunque altro modo è quello indicato un tempo da aschenaz ed altri. Un index.php che richiama altri contenuti. IMHO va contro la semplicità in una situazione poco PHP e per scopi di indicizizzazione, ma è una delle soluzioni al problema che hai incontrato
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Alla ricerca delle funzioni perdute
In che senso?conraid ha scritto:...IMHO va contro la semplicità in una situazione poco PHP...
Guarda che sono milioni i siti che usano quel sistema, che, in un cero senso, è più economico di quello che usi tu...
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Alla ricerca delle funzioni perdute
Per "poco PHP" intendo dove il PHP è usato alla stregua di SSI per esempio.aschenaz ha scritto:In che senso?conraid ha scritto:...IMHO va contro la semplicità in una situazione poco PHP...
Guarda che sono milioni i siti che usano quel sistema, che, in un cero senso, è più economico di quello che usi tu...
Cioè un aiuto a non ripetere codice ed usarlo per qualche include con qualche variabile e poco più. Insomma tutto XHTML+CSS e qualcosa di PHP per aiutarti nell'aggiornare e nel non ripetere pezzi di codice.
In una situazione simile usare funzioni, richiami, etc non so quanto sia indicato. Perché quegli utenti lo usano solamente per includere qualcosa.
Diverso dove sviluppo delle applicazioni in PHP.
Tutto qui e tutto IMHO
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Alla ricerca delle funzioni perdute
Beh, io ho fatto (tra le altre cose) un intero cms operativo per la mia intranet (166 file, di cui solo la classe principale sono 1300 righe di codice ed un db mysql di 64 tabelle), gestendolo con l'OOP php e non credo di essermi limitato a quello che dici tu. Se può interessare, lo trovi qui: http://ninobi.altervista.org/index.php?page=isis
In ogni caso, l'inclusione che uso io è molto simile a quella che usi tu, solo che io sono abituato a questa e la trovo molto semplice e lineare...
In ogni caso, l'inclusione che uso io è molto simile a quella che usi tu, solo che io sono abituato a questa e la trovo molto semplice e lineare...
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Alla ricerca delle funzioni perdute
Allora... ho sistemato riferimenti e funzioni. Tutto sembre funzionare egregiamente
e in effetti rispetto all'originale c'è molto più ordine e il risparmio di codice inutile.
Da ogni pagina ci si linka correttamente alle altre con semplice file delle funzioni.
Il guaio arriva quando ho cercato di servirmi nuovamente della vecchia soluzione
per creare l'effetto activelink. Vi posto un esempio di codice (che non funziona);
si tratta di un menu di una delle sezioni.
Questo in functions.php:
e, nella homepage di questa sezione ho messo:
La funzione menu_chisiamo vi apparirà come un'ignobile accrocchio
di php e html e in effetti...
M.
e in effetti rispetto all'originale c'è molto più ordine e il risparmio di codice inutile.
Da ogni pagina ci si linka correttamente alle altre con semplice file delle funzioni.
Il guaio arriva quando ho cercato di servirmi nuovamente della vecchia soluzione
per creare l'effetto activelink. Vi posto un esempio di codice (che non funziona);
si tratta di un menu di una delle sezioni.
Questo in functions.php:
Codice: Seleziona tutto
function menu_chisiamo () {
echo
<<<EOD
<div id="rightmenu">
<ul>
<li><a href="./chisiamo.php" <?php if (ereg ("chisiamo.php", $_SERVER["PHP_SELF"])) echo 'id="activelink_r"';?>>Chi siamo</a></li>
<p class="rightmenu">La nostra storia</p>
<li><a href="./inizi.php" <?php if (ereg ("inizi.php", $_SERVER["PHP_SELF"])) echo 'id="activelink_r"';?>>Le nostre letture</a></li>
<li><a href="./intitolazione.php" <?php if (ereg ("intitolazione.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>L'intitolazione</a></li>
<li><a href="./inaugurazione.php" <?php if (ereg ("inaugurazione.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>L'inaugurazione</a></li>
<li><a href="./autonomia.php" <?php if (ereg ("autonomia.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>L'autonomia</a></li>
<li><a href="./guerra.php" <?php if (ereg ("guerra.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>Guerra e dopoguerra</a></li>
<p class="rightmenu">Il Franchetti nella vita di Mestre</p>
<li><a href="./territorio.php" <?php if (ereg ("territorio.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>Il territorio</a></li>
<li><a href="./risposte.php" <?php if (ereg ("risposte.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>Le risposte del Franchetti</a></li>
<li><a href="./utenza.php" <?php if (ereg ("utenza.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>L'utenza attuale</a></li>
<p class="rightmenu">L'organigramma del Franchetti</p>
<li><a href="./organigramma.php" <?php if (ereg ("organigramma.php", $_SERVER['PHP_SELF'])) echo 'id="activelink_r"';?>>L'organigramma del Franchetti</a></li>
</ul>
</div>
EOD;
};
Codice: Seleziona tutto
<?php
$pagina = 'chisiamo.php';
$path = '../';
require_once($_SERVER["DOCUMENT_ROOT"]."functions.php");
head ();
headers ();
?>
<div id="content">
<h2>Chi siamo</h2>
......
di php e html e in effetti...
M.
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Alla ricerca delle funzioni perdute
PS
Se date un'occhiata al sito, è provvisoriamente caricato qui:
http://samiel.netsons.org/
Sono validi quasi tutti i link in "Chi siamo" e quello in "Progetti"
relativo allo scambio con gli USA (con immagini).
Così magari mi date anche qualche consiglio tecnico-estetico
(con IE 6 ho delle difficoltà di visualizzazione, ma mi ci applico
una volta definita meglio la struttura).
Grazie!
M.
Se date un'occhiata al sito, è provvisoriamente caricato qui:
http://samiel.netsons.org/
Sono validi quasi tutti i link in "Chi siamo" e quello in "Progetti"
relativo allo scambio con gli USA (con immagini).
Così magari mi date anche qualche consiglio tecnico-estetico
(con IE 6 ho delle difficoltà di visualizzazione, ma mi ci applico
una volta definita meglio la struttura).
Grazie!
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Alla ricerca delle funzioni perdute
Secondo me, non è indispensabile ricorrere a delle funzioni se non è produttivo: se un'operazione la devi ripetere, allora è opportuno farlo (ma meglio se organizzate in classi). Nel tuo caso, perché non inserisci quel codice direttamente nella pagina? E poi, perché non lo organizzi in forma di array, senza dover ripetere la stessa riga per ogni pagina?Hannibal Lecter (Thomas Harris) ha scritto:Prima regola Clarice: semplicità!
Comunque, ora vado al lavoro. Più tardi ci do un'altra occhiata...
EDIT:
Col sistema che hai usato ti sei complicato inutilmente la vita (IMHO). Fammi capire: ogni pagina sta in una sua sottocartella e ogni pagina include header, footer, menu, etc.? Col sistema che ti suggerivo io, bastava creare una index completa di tutto, con le pagine interne composte solo del contenuto specifico, messe tutte in una sola sotto-directory e richiamate col menu fatto da un semplice array. Io ci ho fatto decine di siti così e non ho mai avuto un problema.
Pregi: scrivi meno codice, ripeti poche cose, corri meno rischi di sbagliare, non hai i problemi di percorso che segnali qui, il tutto è più ordinato.
Difetti: ... boh!? Ditemeli voi...
Guarda, ad esempio, la porzione di codice che hai postato qui: hai ripetuto la stessa stringa 10 volte. A parte il fatto che è anti-economico, se devi cambiare qualcosa, la devi cambiare 10 volte!
Il fatto, poi, di scrivere un heredoc con chiamate al php al suo interno... Sinceramente, pensavo non funzionasse neanche.
Se vuoi ascoltare il mio parere, Samiel, riorganizza il sito come suggerisco nel mio mini-tutorial (che, appena trovo un po' di tempo, conto di proseguire...) e vedrai che tutto ti sembrerà più semplice. Tu sei un insegnante e sai che, spesso, il più grave errore degli studenti è quello di imparare le parole, non i concetti. Secondo me, hai affrontato il php col piede sbagliato: ti sei riempito di tomi, quando sarebbe bastato cominciare subito a scrivere del codice, magari sbagliando, ma imparando dagli errori, appoggiandoti al manuale ufficiale (completissimo) e seguendo qualche semplice tutorial. L'importante è sapere cosa si vuole ottenere da uno script; il php, poi, ti offre molteplici soluzioni e sta a te decidere quale usare.
Ho visitato il sito con IE 6: a parte piccoli ritocchi nel css (ricordati di non usare mai il padding, perché IE lo esclude dalla dimensione del blocco, mentre lo standard dice il contrario), il problema principale sta proprio nel percorso delle immagini, che IE non vede...
Scusami Samiel per il tono di questo post, non voglio sembrare supponente: non lo sono; sono pienamente cosciente dei miei limiti. Ma non mi va che ti perdi dietro ad inutili complicazioni...
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Alla ricerca delle funzioni perdute
Ti posto l'esempio di una pagina completa:
Dici che si può fare in forma ancora più breve?
Le varie parti header, footers e menu vari stanno in un'altra pagina chiamata functions.php.
Basta cambiare in function ad es il menu orizzontale e tutte le pagine riportano la modifica.
Per le immagini, adesso vedo di sistemare.
Poi c'è il problema dell'active linl cui accennavo nel post sopra.
Ma ogni osservazione è la benvenuta!
M.
Codice: Seleziona tutto
<?php
$path = '../';
require_once($_SERVER["DOCUMENT_ROOT"]."functions.php");
head ();
headers ();
?>
<div id="content">
<h1>Chi siamo</h1>
<h2>Chi è Raimondo Franchetti</h2>
<p>Un liceo classico, anzi, un «Regio Ginnasio» esisteva a Mestre dal 1931, come sezione staccata del Regio Liceo Ginnasio «Marco Foscarini» di Venezia.</p>
<p>Pur se indipendente da Venezia dal 1935, il Liceo Classico «Franchetti» segna la sua data di nascita ufficiale il giorno 8 Dicembre 1940, in cui si inaugurò l'edificio in cui la scuola risiede ancora. Si è a pochi mesi dall'entrata in guerra dell'Italia. La scuola fu intitolata al barone Raimondo Franchetti, che si era distinto per la sua viva passione per i viaggi di esplorazione in Africa e in Asia, e che era morto in circostanze misteriose nel 1935, vittima di un incidente aereo.</p>
<p>Nato a Firenze il 30 gennaio 1889, Raimondo Franchetti discendeva da una facoltosa famiglia, che aveva fra i suoi antenati Abramo Franchetti, insignito del titolo di barone per essere stato il costruttore delle prime linee ferroviarie italiane, oltre che uno dei pionieri della bonifica della Maremma e della zona di Caorle.</p>
<p>Compì spedizioni in Malesia, nell'Indocina, in Annam e infine in Africa, esplorando Sudan, Kenia, Uganda ed Etiopia meridionale. Morì a pochi chilometri dal Cairo e in molti sospettarono che fosse stato vittima di un attentato, con cui si voleva fermare un uomo che, grazie alle sue esplorazioni, collaborava anche alle mire espansionistiche dell'Italia di allora.</p>
<p>È naturale ricordare il profondo mutamento culturale intercorso dall'inaugurazione del «Franchetti» ad oggi.</p>
<p>Negli anni della ricostruzione e del boom economico, segnati da un forte desiderio di riscatto sociale e culturale, i giovani di Mestre trovarono nel «Franchetti» la via maestra agli studi universitari; il liceo favorì la crescita di quei valori forti di formazione intellettuale e di partecipazione civile che,
anche attraverso serie tensioni, hanno accompagnato la città nel suo sviluppo.</p>
<p>Nonostante il ruolo della scuola e dell'istruzione siano profondamente cambiati, il «Franchetti» continua a riconoscere la necessità di uno sviluppo armonioso della personalità e l'importanza del valore della cultura come base comune della civiltà.</p>
</div>
<?php
leftmenu ();
menu_chisiamo ();
footer ();
?>
Le varie parti header, footers e menu vari stanno in un'altra pagina chiamata functions.php.
Basta cambiare in function ad es il menu orizzontale e tutte le pagine riportano la modifica.
Per le immagini, adesso vedo di sistemare.
Poi c'è il problema dell'active linl cui accennavo nel post sopra.
Ma ogni osservazione è la benvenuta!
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Alla ricerca delle funzioni perdute
Certo. Quantomeno non devi ripetere quelle inclusioni in ogni pagina e non hai bisogno di work-around per i percorsi.samiel ha scritto:...Dici che si può fare in forma ancora più breve?...
Praticamente, in questo caso la pagina "chi siamo" conterrebbe solo il codice html (ma può contenere tranquillamente anche codice php) e non ci sarebbe bisogno di inserirla in una sua directory (puoi metterle tutte in una sotto-directory).
Guarda il tutorial: c'è spiegato tutto, anche il discorso sugli active-link.
Ciao,
nino