Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner


 
  

Home -> Manuali e Tutorials -> Guida PHP -> Creare Sito Dinamico php  (1/3)


Scarica il tutorial      |    Stampa il tutorial      |    Cerca nel sito      



CREARE UN SITO DINAMICO IN PHP



Vediamo come creare un semplice sito in php per la gestione di clienti in un pub, che consenta quindi ad un operatore di inserire, modificare o cancellare i clienti dal database.

Un esempio funzionante è mostrato qui) ( ).


  1. Pannello di controllo riservato all'operatore
    • Gestione utenti
    • Motore di ricerca interno




Ovviamente tale applicazione si appoggia su un database MySql, costituito da una sola tabella: "pub", riservata ai dati dei clienti. Qui trovate il dump del db.

Il codice php necessario per realizzare l'applicazione si articola in diversi files, sia template html e sia files in php.

In questo tutorial, viene usata una logica ad oggetti, per cui tutti i files php saranno delle classi.

Vediamo ora l'elenco di tutte le classi dell'applicazione e contenute nell'apposita cartella ACTION:


  • index.php : Printa la struttura della pagina e richiama tutte le classi ed i vari template

  • newuser.php : Inserisce un nuovo utente

  • mod_ut_form.php : Printa i dati dell'utente su un form di modifica

  • modifyut.php : Modifica i dati di un utente

  • listall.php : Stampa una tabella di tutti gli utenti/clienti registrati

  • del_ut.php : Cancella un utente

  • cerca.php : Effettua la ricerca su db di un cliente



Vediamo ora l'elenco di tutte le classi contenute nell'apposita cartella CLASSES:


  • MyConn.php : Contiene le funzioni necessarie per gestire la connessione al database



Mentre le classi contenute nella cartella BEAN sono:


  • pub.php : Contiene le funzioni necessarie per eseguire le varie query MySQL



Mentre la cartella TPL contiene dei semplici template html, necessari per printare messaggi all'utente ed il form di compilazione di un nuovo cliente.


Pagina "index.php"

Di seguito è riportato il suo codice:


<?php
define("ROOT_DIR", realpath("."));
define("TPL_DIR", ROOT_DIR."/tpl/");
define("ACT_DIR", ROOT_DIR."/action/");
define("CLASSES_DIR", ROOT_DIR."/classes/");
define("BEAN_DIR", ROOT_DIR."/bean/");
?>

<HTML>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="img/stile2.css">
<script language="JavaScript" src="img/tigra_tables.js"></script>
<script LANGUAGE="JavaScript" src="img/valida_form.js"></script>
</HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="100%" height="100%" border=0>
<TBODY>
<TR>
<TD class="bodyline">
<TABLE cellSpacing=2 cellPadding=5 width="100%" height="100%" border=0>
<TBODY>
<TR height=10%>
<TD valign=center align=left width="100%" colspan=2 bgcolor=black> <img SRC="img/logo.gif" WIDTH="224" HEIGHT="57" BORDER=0 ALT=""></TD>
</TR>
<TR height="85%">
<TD valign=top width="15%" bgcolor=black>
<TABLE cellSpacing=1 cellPadding=4 width="100%" height="20%" border=0>
<TR>
<TD><A HREF="index.php?tpl=new_ut">Inserimento</A></TD>
</TR>
<TR >
<TD><A HREF="index.php?action=cerca">Ricerca</A></TD>
</TR>
<TR >
<TD><A HREF="index.php?action=listall">Listato</A></TD>
</TR>
<TR height=50>
<TD> </TD>
</TR>
<TR>
<TD valign=bottom align=middle><BR><BR><img SRC="img/centro2.jpg" WIDTH="150" HEIGHT="144" BORDER="0" ALT=""></TD>
</TR>
<TR height=50>
<TD> </TD>
</TR>
<TR >
<TD><A HREF="index.php?tpl=home">Exit</A></TD>
</TR>
</TABLE>
</TD>
<TD class=tabline valign=top width="75%">
<?
if($_GET["action"])
     $act = $_GET["action"];
elseif($_POST["action"])
     $act = $_POST["action"];
elseif($_GET["tpl"])
     $tpl = $_GET["tpl"];
elseif($_POST["tpl"])
     $tpl = $_POST["tpl"];
else $tpl="home";
if($act)
{
     include_once(ACT_DIR.$act.".php");
     new $act();
}
if($tpl)
{
     include_once(TPL_DIR.$tpl.".html");
}
?>

</TD>
</TR>
<TR height="5%">
<TD bgcolor=black colspan=2 align=right><span class="text">Powered by Andrea Gentili</span>  </TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>


Il codice HTML serve per printare la tabella in cui vengono visualizzati l'header (semplicemente costituito dall'immagine), il menù laterale, il contenuto della pagina ed il footer. Le uniche porzioni di codice php sono quella iniziale e quella centrale: la prima parte serve per definire in maniera univoca i percorsi a partire dalla "index.php" ("ROOT_DIR" è il percorso assoluto fino ad essa), attraverso la definizione di costanti, chiamate ad esempio "PHP_DIR". Così facendo, se in un futuro, si vuole cambiare il posto della cartella PHP o rinominarla, basta semplicemente cambiare la sua DEFINE per aggiornare l'applicazione.

Nella figura sottostante è riportata l'alberatura di tale applicazione, che è da tenere in mente per la definizione dei vari percorsi relati a quello della index.




Per capire meglio la seconda parte del codice php evidenziato, analizziamo gli HREF dei vari links del menù: ad esempio il primo link, quello dell'inserimento, ha un HREF="index.php?tpl=new_ut", mentre il secondo ha un HREF="index.php?action=cerca". Visto che usando una logica ad oggetti, ogni classe deve essere istanziata per poter essere eseguita, ogni HREF o ACTION presenti nelle varie pagine dovrà essere del tipo:


...="index.php?chiave=nome_file"



Dove la "chiave" può essere o action o tpl a seconda se si vuole istanziare una classe o richiamare un semplice template html; quindi, mentre la struttura della pagina sarà sempre fissa e stabilita solamente nella index, il contenuto della pagina verrà caricato ogni volta in base alle coppie chiave=nome_file che vengono ricevute dalla index o tramite $_POST (cioè la coppia è presente nell'ACTION di un form) o tramite $_GET (cioè tramite link). Viene stabilito anche un valore di default, che si verifica quando non sono settati nè il $_POST e nè il $_GET e cioè quando viene caricata per la prima volta la index; questa pagina sarà infatti un template html chiamato "home.html" . Quindi se è settato $_POST["action"] o $_GET["action"], allora viene inclusa e poi istanziata la classe, mentre un template viene semplicemente incluso. Notate come vengono inclusi i file: COSTANTE.$tipo_file.estensione .
Il controllo sugli if è fatto solamente sulle variabili $act o $tpl; if($act) , ad esempio, ritorna true se è settata $act, altrimenti torna false.




Torna su      |    Indice Guida      |    Pagina << 42 >>    


Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]