Repository 32bit  Forum
Repository 64bit  Wiki

Alla ricerca delle funzioni perdute

Forum dedicato alla programmazione.

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.

Alla ricerca delle funzioni perdute

Messaggioda samiel » sab feb 16, 2008 22:23

Sto cercando di impostare un sito con quelle poche comodità che conosco
e che offre php. Ho creato (vedi qualche post fa) un file con le funzioni
e funziona egregiamente. C'è solo un meccanismo che non riesco a implementare.
Creo la hunzione head:
Codice: Seleziona tutto
<?php
function head () {
echo
<<<EOD
<?xml version="1.0" encoding="utf-8"?>
[cut]
  <link rel="stylesheet" type="text/css" href="layout.css" />
</head>
EOD;
};
?>

Ma ovviamente le pagine nelle subdir e subsubdir non troveranno mai il .css.
C'è una soluzione più economica e funzionale che copiare il .css in ogni dir?

Grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda conraid » sab feb 16, 2008 22:50

samiel ha scritto:Sto cercando di impostare un sito con quelle poche comodità che conosco
e che offre php. Ho creato (vedi qualche post fa) un file con le funzioni
e funziona egregiamente. C'è solo un meccanismo che non riesco a implementare.
Creo la hunzione head:
Codice: Seleziona tutto
<?php
function head () {
echo
<<<EOD
<?xml version="1.0" encoding="utf-8"?>
[cut]
  <link rel="stylesheet" type="text/css" href="layout.css" />
</head>
EOD;
};
?>

Ma ovviamente le pagine nelle subdir e subsubdir non troveranno mai il .css.
C'è una soluzione più economica e funzionale che copiare il .css in ogni dir?

Grazie
M.



eheheeheheh.
Ogni volta uso un metodo diverso, a seconda del sito in questione.
Una soluzione che usano molti cms è usare un path assoluto o un URI per il CSS
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » sab feb 16, 2008 23:57

mmmmm... altre soluzione? Tanto per capire...
Il sito attualmente per prova è su Netsons...
Che strategia mi consigli?
Certo che se i volumoni su php che ho comperato
a non meno di 50 € cadauno fossero un tantino
più pragmatici...

Mille grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 0:23

Ho provato a mettere:
<link rel="stylesheet" type="text/css" href="ftp://samiel.netsons.org/layout.css" />
Ma quando cerco di caricare la pagina,
il browser sta fermo mentre sotto leggo:
"inizio transazione FTP".
Mi sa che ho sbagliato qualcosa...

M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 0:40

Ah ecco... mi chiede nome utente e password per caricare il file,
come per una normale transazione ftp. E suppongo che i visitatori
del sito non dovrebbero avere il mio nome utente e la mia password
per poter vedere il sito con tanto di funzioni e css... Dunque,
qualcosa non torna....

M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda cymon » dom feb 17, 2008 1:05

samiel ha scritto:Ho provato a mettere:
<link rel="stylesheet" type="text/css" href="ftp://samiel.netsons.org/layout.css" />
Ma quando cerco di caricare la pagina,
il browser sta fermo mentre sotto leggo:
"inizio transazione FTP".
Mi sa che ho sbagliato qualcosa...

M.


Perché fai la chiamata in ftp e non in classico http?
Avatar utente
cymon
Linux 2.4
Linux 2.4
 
Messaggi: 430
Iscritto il: ven gen 05, 2007 1:40
Località: Milano
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 1:42

Perché avevo sbagliato...
Adesso funge, grazie.
Si vede il logo e funziona i CSS, au quiali ho conferito un path assoluto.

Però ho 2 altri problemi. Inizio qui con primo, poi smanetto
e magari domani posto il secondo.
Vedete qui:
http://samiel.netsons.org/
La home page è tutta a posto.
Se però cliccate sulla voce "Progetti",
la pagina caricata è totalmente bianca.
Eppure la struttura è del tutto uguale
a index.php. Oppure non lo è, ma attualmente
mi sfugge la causa...

M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 2:00

No, mi correggo, avevo commesso una distrazione.
Se uso questo codice:
Codice: Seleziona tutto
<?php
function head () {
echo
<<<EOD
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Liceo Ginnasio Franchetti - Mestre (VE)</title>
  <meta name="GENERATOR" content="Quanta Plus" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="description" content="Liceo Ginnasio Franchetti" />
  <meta name="keywords" content="Liceo Ginnasio Franchetti" />
  <link rel="stylesheet" type="text/css" href="http://samiel.netsons.org/layout.css" />
</head>
EOD;
};
?>

<?php
function firstpagecss () {
echo
<<<EOD
<style type="text/css">
div#content{padding-bottom:350px}
</style>
EOD;
};
?>

<?php
function headers () {
echo
<<<EOD
<body>
<div id="container">
<div id="header">
<img id="logoleft" src="http://samiel.netsons.org/pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<img id="logoright" src="http://samiel.netsons.org/pics/logo.gif" alt="Logo Franchetti" title="Logo Franchetti"/>
<h3 class="header">Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187;<br />
Corso del Popolo 82 - 30172 MESTRE VENEZIA<br />
Tel. 041 5315531 - Fax 041 5328524</h3>
<div id="navbarwrapper">
<div id="navbar">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="chisiamo/chisiamo.php">Chi siamo</a></li>
<li><a href="contatti/contatti.php">Contatti</a></li>
<li><a href="news/news">News</a></li>
<li><a href="pof/pof.php">POF</a></li>
<li><a href="progetti/progetti.php">Progetti</a></li>
<li><a href="agenda/agenda.php">Agenda</a></li>
<li><a href="segreteria/segreteria.php">Segreteria</a></li>
</ul>
</div>
</div>
</div>
EOD;
};
?>

<?php
function leftmenu () {
echo
<<<EOD
<div id="leftmenu">
<ul>
<li><a id="activelink_l" href="index.php">Home</a></li>
<li><a href="circolari.php">Circolari</a></li>
<li><a href="scuolanet">Scuolanet</a></li>
<li><a href="newsletter.php">Newsletter</a></li>
<li><a href="biblioteca.php">Biblioteca</a></li>
<li><a href="studenti.php">Studenti</a></li>
<li><a href="circolari.php">Circolari</a></li>
<li><a href="siti.php">Siti utili</a></li>
</ul>
</div>
EOD;
};
?>

<?php
function menu_chisiamo () {
echo
<<<EOD
<div id="rightmenu">
<ul>
<li><a id="activelink_r" href="chisiamo.php"></a></li>
<p class="rightmenu">La nostra storia</p>
<li><a href="inizi.php">Gli inizi</a></li>
<li><a href="intitolazione.php">L'intitolazione</a></li>
<li><a href="inaugurazione.php">L'inaugurazione</a></li>
<li><a href="autonomia.php">L'autonomia</a></li>
<li><a href="guerra.php">Guerra e dopoguerra</a></li>
<p class="rightmenu">Il Franchetti nella vita di Mestre</p>
<li><a href="territorio.php">Il territorio</a></li>
<li><a href="risposte.php">Le risposte del Franchetti</a></li>
<li><a href="utenza.php">L'utenza attuale</a></li>
<p class="rightmenu">L'organigramma del Franchetti</p>
<li><a href="organigramma.php">Organigramma</a></li>
</ul>
</div>
EOD;
};
?>

<?php
function menu_progetti () {
echo
<<<EOD
<div id="rightmenu">
<ul>
<li><a href="referenti.php" title="Referenti ai progetti">Referenti ai progetti</a></li>
<li><a href="ecdl/ecdl.php" title="patente europea del computer">ECDL</a></li>
<li><a href="australia/australia.php" title="Scambio con l'Australia">Scambio con l'Australia</a></li>
<li><a href="statiuniti/statiuniti.php" title="Scambio con gli Stati Uniti)">Scambio con gli Stati Uniti</a></li>
</ul>
</div>
EOD;
};
?>

<?php
function footer () {
echo
<<<EOD
<div id="footer">© Liceo Ginnasio Statale &#171;Raimondo Franchetti&#187; - 2008</div>
</div>
</body>
</html>
EOD;
};
?>

e quinci creo il file index.php
Codice: Seleziona tutto
<?php
require "http://samiel.netsons.org/functions.php";
?>

<?php
head ();
?>

<?php
firstpagecss ();
?>

<?php
headers ();
?>

<div id="content">
<img class="picright" src="pics/portone.jpg" alt="Portone Franchetti" title="Portone Franchetti"/>
<p class="blockquote">Un classico non ha mai finito di dire <br />
quello che ha da dire</p>
<p class="blockquote">Italo Calvino</p>
</div>

<?php
leftmenu ();
?>

<?php
footer ();
?>

non si vede più nessuna pagina...

Sconsolatamente...
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 2:52

Ho fatto le 3 ma ne è valsa la pena:
require_once($_SERVER["DOCUMENT_ROOT"]."functions.php");

:-)
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda conraid » dom feb 17, 2008 12:16

Intanto non capisco perché tutte quelle aperture di sezioni php
Se un file è solo php basta <?php all'inizio
E poi non puoi fare require di un file esterno.
Il require lo fai di file inclusi nel tuo path
Il percorso assoluto lo metti nel richiare css per esempio.

Anche se io uso una soluzione diversa, te la posto appena posso

UPDATE: vedo che ci eri arrivato da solo :-)
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Alla ricerca delle funzioni perdute

Messaggioda conraid » dom feb 17, 2008 12:22

Allora.
Sito con molte sezioni e sottosezioni, fatto anni fa.

Risolsi la cosa facendo così.

header.inc.php
Codice: Seleziona tutto
<?php
if (!isset($path)) {
        $path = "";
}
?>
<style type="text/css"  media="screen">
<!--
@import url(<?=$path;?>css/gb.css);
-->
</style>
  <div class="hidden">Menu di navigazione principale:</div>
  <a href="<?=$path;?>servizi/index.php">SERVIZI</a> |
<a href="<?=$path;?>soluzioni/index.php">SOLUZIONI</a> |
  <a href="<?=$path;?>tecnologie/index.php" >TECNOLOGIE</a> |
  <a href="<?=$path;?>news/index.php">NEWS</a> |
  <a href="<?=$path;?>azienda/index.php">ABOUT</a>&nbsp;


Naturalmente c'era anche altro nel file, ma per farti capire

In ogni file delle sottosezioni all'inizio c'era
Codice: Seleziona tutto
<?php
$path = '../';
include '../include/header.inc.php';
?>

Oppure niente se era nella root

Spero di essermi spiegato.
Per il CSS non preoccuparti, devi mettere i path da dove è lui e non da dove viene richiamato.
Così rimaneva tutto "relativo"

Wordpress per esempio usa delle funzioni che indicano il percorso assoluto di un determinato file, in un modo simile a come hai messo tu. Per esempio
Codice: Seleziona tutto
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

Dove
Codice: Seleziona tutto
<?php bloginfo('stylesheet_url'); ?>
rilascia il percorso assoluto del file css

E ricorda che dentro il CSS puoi usare il percorso "relativo" a quel file CSS, conta dove si trova e non da dove viene chiamato
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Alla ricerca delle funzioni perdute

Messaggioda samiel » dom feb 17, 2008 14:08

Grazie per la molto articolata risposta.
Fra oggi e domani vedo di riconsiderare il tutto
alla luce delle tue annotazioni.
Io sto vedendo il Wandschneider, di cui si parla
molto bene, e pur essendomi più utile di altri
testi sul tema, fatico a trovare le soluzioni
che tu mi stai sottoponendo. Ma non c'è
una risorsa precisa e pragmatica su questi temi?
Intendo una risorsa online o cartacea,
oltre a Conraid...

M.

PS
Il fatto è che sto provando a sistemare il sito
della mia scuola. Considera che il suo autore (non io,
quello che in origine lo ha realizzato) usa PHP,
ma, per dire, in un modo tale da essere costretto
a infilare un funzioni.php e un css in ogni dir...........
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Alla ricerca delle funzioni perdute

Messaggioda conraid » dom feb 17, 2008 14:24

Senti, secondo me no. Devi provarlo sulla tua pelle.
Comunque l'unico libro che ho trovato fatto bene è quello che non hai preso :-)
Ma anche quello da info generiche.
Guarda il codice di progetti "famosi" per questo.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Alla ricerca delle funzioni perdute

Messaggioda puzuma » dom feb 17, 2008 14:35

samiel ha scritto:
Codice: Seleziona tutto
<link rel="stylesheet" type="text/css" href="layout.css" />

C'è una soluzione più economica e funzionale che copiare il .css in ogni dir?


scusa ma perchè non usare un path assoluto tipo:

Codice: Seleziona tutto
<link rel="stylesheet" type="text/css" href="/stylesheets/layout.css" />


dove sostituisci stylesheets con la directory a partire dalla document root dove hai piazzato i tuoi stili, non occorre che metti anche l'intero host dentro l'href.

di solito questo è il sistema standard di linkare gli stili, con i path relativi ne esci matto.

Poi secondo me devi rivedere i tuoi piani di apprendimento, prima di cercare qualcosa di pragmatico devi assolutamente conoscere un po' di teoria "astratta", tipo com'è fatta una richiesta http, che differenza c'è con ftp, almeno una base di programmazione partendo da esempi semplici. Non dico di leggerti gli RFC (non l'ho fatto neanch'io) ma in rete ci sono siti che lo spiegano in 2 pagine.
Non puoi sperare che i libri o le guide ti risolvano i tuoi problemi specifici perché sono troppo varie le possibiltà che offre un linguaggio come il php. Spesso identici risultati si ottengono con approcci profondamente diversi, se ti rivedi l'altro thread per un problema avevi almeno 3 soluzioni completamente diverse il cui unico criterio di scelta possibile è il gusto personale.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 480
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Alla ricerca delle funzioni perdute

Messaggioda conraid » dom feb 17, 2008 14:37

puzuma ha scritto:scusa ma perchè non usare un path assoluto tipo:

Codice: Seleziona tutto
<link rel="stylesheet" type="text/css" href="/stylesheets/layout.css" />




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
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Prossimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti