Newsgroup: it.comp.www.php
Titolo: (forse) suddivisione sito e php: possibile farlo?

Salve a tutti,
sono veramente inesperto nel campo dello sviluppo per web, e spero 
possiate rispondere alla mia domanda.
Volevo comporre il mio sito personale (quello in firma, per intendersi) 
da due "parti", una per l'organizzazione delle info e l'altra per 
mostrarle; penso sia una configurazione abbastanza standard.
Se lo facessi in html purocon i frame, se mi salvo l'indirizzo di una 
pagina e la richiamo, mi perdo il frame che contiene l'organizzazione 
del sito.
La mia idea, allora, e' quella di usare php (se puo' fare quello che mi 
serve) in modo che ogni pagina sia composta da un parte di testo vero e 
proprio e da una parte "dinamica" che dovrebbe contenere lo scheletro 
del sito, per orientarsi al suo interno (quella che sta di solito a 
sinistra, per capirsi). Magari mettendo queste due "zone" in una tabella...
Php, puoi fare questo?
Spero di essermi spiegato bene. Non so che cercare in rete, perche' non 
ho idea di cosa mi serve per fare quello che ho descritto. Se conoscete 
quello di cui ho bisogno, ditemelo, che poi mi documento anche da solo, 
ma ora non so che cercare...
Ciao
-- 
Sandro Tosi (aka Morpheus, matrixhasu)
My (little) site: 
http://matrixhasu.altervista.org/index.html

 ma ora non so che cercare...
[..]
http://php.net/if
http://php.net/include
ma sarebbe molto saggio comprare un libro che parta da zero..
-- 
www.iuz-lab.info

 ma sarebbe molto saggio comprare un libro che parta da zero..
Seee, vabbe'... ;)) che vuoi che sia, leggo qua e la e mi imparo il php 
in 5 min... magari! ;)) un link per un principante??
Ciao e grazie


 in 5 min... magari! ;)) un link per un principante??
[..]
se hai una sufficiente capacita' di apprendimento il manuale stesso puo'
divenire un buon punto di inizio..
per quello che vuoi fare inizierei direttamente da..
http://php.net/langref
-- 
www.iuz-lab.info

 
http://php.net/langref
Buono, mi sa che me lo leggero'...
Grazie mille per l'aiuto!


in 5 min... magari! ;)) un link per un principante??
Il meccanismo potrebbe essere:
fai una pagina e la chiami index.php
In questa pagina ci scrivi anche il solito codice html, in
particolare:
fai una tabella con 2 colonne e una riga, nella prima cella crei
un'altra tabella con una colonna e tante righe quante devono essere le
voci del menu. Nella seconda tra <td> e </td> scrivi:
<?php 
if(isset($_GET['id']) and is_int($_GET['id'])){
switch($_GET['id']){
case '1':
require "homepage.php";
break;
case '2':
require "news.php";
break;
....
default:
require "homepage.php";
break;
}
}
else {
require "homepage.php";
}
?>
E nel menu fai i collegamenti tipo:
<a href="
http://www.tuosito.it/index.php?id=1
">Home page</a>
<a href="
http://www.tuosito.it/index.php?id=2
">News</a>
.......
E ovviamente devi creare le pagine homepage.php ecc con dentro i
contenuti da mostrare.
Ora sai cosa ti serve per documentarti:
http://it2.php.net/require
http://it2.php.net/switch
http://it2.php.net/break
http://it2.php.net/isset
http://it2.php.net/if
http://it2.php.net/manual/it/function.is-int.php
Ciao
-- 
Per rispondermi togli il cappello

 contenuti da mostrare.
Ok, ho capito la logica, ma se chiamo 
http://www.tuosito.it/news.php
 ? 
cosa ottengo? oppure non lo posso chiamare in quanto "mascherato" da php 
che mi prende il codice di news.php e me lo inserisce dentro la 
index.php quando gli passo id=2?
Grazie e ciao


index.php quando gli passo id=2?
Poprio qui si vede che ti mancano le basi del php... e della
"tecnologia" server-side.
Non so cosa intendi con "mascherato".
Nella index.php vedi che valore ha id, se ha 2 allora "inserisci" il
contenuto di news.php, se ha 3 ecc... č una pagina dinamica, cioč,
cambia il contenuto a seconda dei parametri che passi nella url. in
questo modo il menu lo scrivi una volta sola e il "contenuto" cambia
automaticamente.
Chiaro?


 if(isset($_GET['id']) and is_int($_GET['id'])){
[..]
is_int ritorna TRUE se un valore e' un intero.. e _GET contiene stringhe..
is_numeric.. ritorna TRUE se un valore e' un numero o e' una stringa che
corrisponde ad un numero..
dovresti usare intval.. ritorna il valore intero corrispondente al valore..
$_GET['id'] = isset($_GET['id']) ? intval($_GET['id']) : 0;
e strutturi lo switch in questo modo..
switch($GET['id']) {
  case 1:
    include './page1.php';
    break;
  case 2:
    include './page2.php';
    break;
  default:
    include './default.php';
}
od ancora meglio ma un'po' piu' criptico..
$pagesArray = array(
        'default.php',
        'page1.php',
        'page2.php'
);
$_GET['id'] = isset($_GET['id']) ? intval($_GET['id']) : 0;
include isset($pagesArray[$_GET['id']]) ? $pagesArray[$_GET['id']] :
$pagesArray[0];
-- 
www.iuz-lab.info

 Chiaro?
Si', un po' meglio...
Il metodo dei parametri ad una pagina non mi piace un gran che 
(questione di gusti, oh...) ma potrei fare in modo che ogni pagina 
contenga il "contenuto" vero e proprio piu' un include di, diciamo, una 
menu.php che ha al suo interno il menu. Che te ne pare?
Grazie di nuovo per la pazienza...




Per la cosa che stai facendo va bene anche questa soluzione, ma nel
caso in cui tu debba fare anche solo delle modifiche grafiche dovresti
ritoccare tutte le pagine, mentre con l'altra modifichi solo una
pagina... tanto quello che cambia sono i "contenuti". E metti che vuoi
includere una nuova intestazione, o un nuovo pič di pagina (non so se
si chiama cosě anche per i siti), dovresti aggiungerlo a tutte le
pagine... e finchč son 3 o 4 va bene, ma altrimenti perderesti
inutilmente un sacco di tempo.
Per quanto riguarda il codice dello switch guarda quello che ti ha
scritto iuz, il mio era errato.


 scritto iuz, il mio era errato.
oooookay ;)
Grazie a tutti e due per l'auito!!
