Ciao a tutti, sono nuovo sia del forum che del linguaggio (...) PHP, ed in realtà anche se sto cominciando ora a masticare qualcosa anche del web development in generale. Vorrei chiedervi gentilmente se potete darmi qualche dritta sulla struttura di un sito web del tipo:
header
colonna sin - content - colonna des
footer
dove header, le colonne e il footer sono estremamente statiche in quanto hanno semplici immagini\link e basta, qualsiasi cosa venga mostrata.
content è invece una sezione del sito che cambia a seconda del link che un visitatore preme. Per capirci, content potrebbe essere realizzato con un iframe e i link dovrebbero semplicemente aprire ciò che deve andare in content col target giusto.
A me però interessa che l'url cambi a seconda del content mostrato! per esempio www.miosito.boh/index.php?sezione=questasezione , ho girato un po' e ho scoperto che, correggetemi se sbaglio, php mi dà questa soluzione (il link l'ho costruito così non per caso!) tramite una funzione include() e delle variabili da inserire tramite un metodo GET, che le prende direttamente dall'url esattamente in quel modo.
Cercando cercando ed informandomi un po' insomma sono arrivato ad un codice di questo tipo:
I dubbi che ho sono però molteplici....codice:<?php if (isset ($_GET['content']) && $_GET['content']!=''){ $content = ($_GET['content']).".html"; //le pagine sono tutte .html include ($content); } else { include ('default.html'); } ?>
Intanto io ho diverse pagine html che possono essere 'target' di content, e quindi per tenere tutto ordinato (cosa che mi piacerebbe ed anzi voglio fare) le ho predisposte tutte in sottocartelle. Diciamo pure che ho una decina di sottocartelle dove trovare questi file .html
es.
www.miosito.boh/cartella1/pagina.html
www.miosito.boh/cartella2/pagina.html (sì, capita anche che si chiamino uguale)
come faccio a includere anche la sottocartella in questo procedimento? Dovrei annidare nell'if un secondo if con dentro un altro controllo $_GET?
Inoltre ho un altro dubbio, così, a naso... questo codice non mi sembra molto sicuro. Non mi piace che un utente random possa scrivere quello che vuole nella barra degli indirizzi ed eventualmente piazzarmi in content un suo sito che esegue codice che io non vorrei venisse eseguito!
Ho pensato di mettere un controllo sapendo io esattamente quali e quante sono le pagine 'permesse', ma il problema è che queste pagine sono veramente TANTE! C'è un metodo più semplice? (una interessante funzione a proposito è la basename, ma non avendo capito esattamente come fare la cosa delle sottocartelle ho qualche dubbio...)
Inoltre ecco l'altro dubbio, questa volta sull'include. Questa include come funziona terra terra? Se io nel file index.php includo un foglio di stile, le classi e id di questo vengono applicate al contenuto del file .html che io includo con questa funzione? Se per esempio ho deciso che tutto il testo venga scritto in giallo, il testo che verrà incluso tramite la funzione include verrà visualizzato in giallo o in nero?
Grazie anticipatamente per le risposte, mi salvate la vita. So che sono tante domande ma confido che siano abbastanza basilari e di facile risposta e di essere io l'unico pirla che non sa queste cosesono ben gradite anche risposte parziali!