Novello in PHP - primo problema

skepsz

Nuovo Utente
1 Apr 2011
3
0
0
Salve ragazzi

Non sono pratico di PHP.
Sto ri-facendo un sito di presentazione servizi ad un'azienda. Il sito è molto semplice. 4 pagine.

La mia idea era quella di rendere il sito solo di una pagina.
Ho suddiviso la home page in tabelle: 1 per l'header, 1 per il menu a sx, 1 per il box contatti a dx, 1 per il footer e l'ultima al centro per i contenuti.

Vorrei soppiantere le 4 pagine che sono presenti nell'attuale sito, implementandone i contenuti solo all'interno della tabella centrale.
Così facendo, elimino le quattro pagine, visualizzandone i contenuti all'interno della tabella centrale dell'homepage.

Per fare questo avrei bisogno di uno script PHP che tramite il menu a sx mi modifichi solo i contenuti della tabella centrale.

Avete qualche soluzione o suggerimento per implemetare ciò?
 
Se vuoi organizzare il sito in modo che si possa accedere alle pagine solo da index.php (cosa molto utile) devi creare due cartelle: modules e template. In template crea due file, chiamati header.php e footer.php (che conterranno i codici HTML di header e footer). Per creare una nuova pagina crea una directory in modules chiamata come il parametro dell'URL che si dovrà digitare (es. http://www.example.com/index.php?page=home), e dentro questa cartella un file index.php contenente il codice HTML della pagina. Infine crea una pagina index.php contenente:
PHP:
<?php
define('IN_APPLICATION', true);

$module = isset($_GET['page']) ? trim($_GET['page']) : 'home';
$main_file = "modules/{$module}/index.php";

if (!file_exists($main_file)) {
    header('HTTP/1.1 404 Not Found');
    exit();
}

require 'template/header.php';
require $main_file;
require 'template/footer.php';
?>
E in cima ad ogni file (tranne la index, ovviamente) metti questo:
PHP:
<?php
if (!defined('IN_APPLICATION')) {
    exit();
}
?>
In modo che nessuno possa accedervi direttamente.
 
Passare le pagine per GET mi sembra una cosa abbastanza pericolosa, se proprio lo si vuole fare è meglio creare un array con i soli nomi di pagina consentiti ed effettuare un controllo con in_array(); naturalmente una struttura del genere va bene solo in questi casi, cioè per siti di piccole dimensioni.
 
Effettivamente non ho scritto un'applicazione molto sicura. Se proprio si vuole includere direttamente il file del modulo bisognerebbe effettuare un controllo sulla variabile GET per assicurarsi che l'utente non stia cercando di caricare uno script maligno. In definitiva fai meglio a fare come ha detto Eliox.
 
Grazie ragazzi delle risposte .. anche se non l'ho capite bene ...

Comunque sono andato avanti, ho sostituito le tabelle del sito con dei div. Ora ho un layout fisso a 3 colonne.

Ora vi spiego quello che vorrei fare:
io ho:
-- div-colonna-sx (menu): contiene 4 div, ognuno dei quali dovrà funzionare come un pulsante;

--div-centrale (contenuti): qui ci sono i contenuti del sito;

--div-sx (contatti): è un box dove ci sono i contatti dell'azienda;


Quello che vorrei ottenere è: cliccando su i 4 div del menu (div-colonna-sx) cambiare il contenuto del div-centrale.

Credo sia una cavolata ... ma purtroppo guardando un pò qui un pò là non riesco a assemblare le info e scrivere il dannato codice.

Vi ringrazio per la pazienza :)
 

Discussioni simili