|
Home -> Manuali e Tutorials -> Guida PHP -> Creare sito php (1/4)
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
CREARE UN SITO IN PHP
Vediamo come creare un semplice sito in php per la gestione di problematiche, che consenta quindi ad un operatore di gestire eventuali problematiche rilevate dagli utenti; un esempio pratico potrebbe essere quello che si può verificare quando avete problemi con la vostra linea del telefono e chiamate un operatore che prende nota del vostro problema e successivamente lo risolverà, chiudendo così anche la problematica in questione. L'applicazione è costituita da un menù di operazioni riservato ovviamente agli operatori, che accedendo all'applicazione tramite una login e pwd, possono cancellare, modificare, risolvere o inserire una nuova problematica o utente (cliente).
Un esempio funzionante è mostrato qui) ( ).
- Pannello di controllo riservato all'operatore
- Gestione utenti
- Inserimento nuova problematica
- Risoluzione di una problematica aperta
- Visualizzazione di problematiche chiuse, ed eventuale loro cancellazione
Ovviamente tale applicazione si appoggia su un database MySql, costituito da tre tabelle: "login", riservata ai dati di accesso dei vari operatori, "tt", contenente tutte le problematiche, e "utenti" in cui sono registrati tutti i 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, non viene usata una logica ad oggetti, per cui non verrà sviluppata nessuna classe.
In questa applicazione, la gestione della Login e pwd e del messaggio di benvenuto viene effettuata tramite i Cookies, di cui abbiamo già parlato in un precedente tutorial.
Vediamo ora l'elenco di tutti i files costituenti l'applicazione:
- index.php : Printa semplicemente il modulo del login
- login.php : Printa la pagina interna con il menù e messaggio di benvenuto
- inserisci_utente.php : Printa il form di inserimento di un utente
- esegui_inserisci.php : Effettua l'inserimento del nuovo utente, previo controllo se è già esistente e se sono stati compilati tutti i campi
- elenco_utenti.php : Stampa una tabella di tutti gli utenti/clienti e per ognuno di essi, crea un link per la modifica dei dati personali, la sua cancellazione e per l'inserimento di una problematica da lui riscontrata
- mod_ut_form.php : Printa il modulo di modifica con i dati vecchi salvati sul db
- esegui_modifica.php : Effettua la modifica dei dati anagrafici del cliente
- del_ut.php : Cancella l'utente dal db, comprese tutte le sue problematiche
- ins_prob.php : Printa semplicemente il modulo dell'inserimento di una problematica
- esegui_ins_prob.php : Effettua l'inserimento il suo inserimento, previo i soliti controlli
- prob_aperte.php : Stampa una tabella di tutte le problematiche aperte e per ognuna di esse, consente l'aggiornamento a risolta
- aggiorna_prob.php : Aggiorna a risolta la problematica
- prob_chiuse.php : Stampa una tabella di tutte le problematiche chiuse e per ognuna di esse, consente la sua eliminazione
- del_prob.php : Cancella la problematica
- header.php : Printa l'header di pagina insieme al titolo dell'applicazione, e printa la frase "utente corrente appo"
- menu.php : Printa semplicemente il menu laterale
- logout.php : Effettua il logout, distruggendo il cookie
Pagina "login.php"
Di seguito è riportato il suo codice php-html:
<?php
$pagename = "Autenticazione";
$nome = $_POST ["login"];
$passw = $_POST ["pwd"];
$link = mysql_connect ("localhost", "root", "") or die ("connessione non riuscita");
mysql_select_db ("trouble_ticket") or die ("Selezione del DB non riuscita: " . mysql_error());
$sql = "SELECT * FROM login WHERE login='$nome' AND pwd='$passw'";
$result = mysql_query ($sql) or die ("query non riuscita". mysql_error());
if (mysql_num_rows($result) == 0) {
echo "Utente sconosciuto <br>";
exit;
}
setcookie ( 'user', $nome, time()+3600);
require_once("header.php");
?>
<TR>
<TD width="20%" class=row1 valign=top>
<?
require_once ("menu.php");
?>
</TD>
<TD width="80%" valign=top>
<TABLE border=0 cellpadding=0 cellspacing=2 width=100% class=bodyline height=100%>
<TR>
<TD valign=top>
<?
echo "<BR><BR><CENTER> <span class=gensmall>ciao $nome sei autenticato/a </span></CENTER><br>";
?>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<tr height=5%>
<td colspan=2 class=row1 align=middle> </td>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
|
Essa è quindi composta da una prima porzione di codice php e poi il solito codice html necessario per printare la tabella di visualizzazione; non usando le classi, ricordatevi che ogni pagina php deve contenere il codice html necessario per la corretta visualizzazione della pagina, a partire quindi dai tag <HTML> e <HEAD>, fogli di stile, etc...
All'inizio del codice, viene attivata la connessione al database "trouble_ticket" attraverso mysql_select_db(), come già spiegato in precedenza. Viene di seguito fatto un controllo sulla tabella login della username e password immessi nel modulo di compilazione; se questi valori non vengono trovati nella tabella (cioè $result è = NULL, quindi nullo, e di conseguenza mysql_num_rows($result) == 0), viene printato SOLO un messaggio all'utente di "Utente sconosciuto". La funzione exit() garantisce la non esecuzione del restante codice, che non avrebbe più senso mostrare.
Nel caso in cui i dati siano corretti, viene memorizzato nel cookie, della durata di 1 h sola, la sola username, attraverso la funzione setcookie();. Successivamente viene incluso nella pagina il file header.php, che printa la parte superiore del codice html della pagina.
La restante porzione di codice html è quello necessario per realizzare la struttura della pagina, creata appunto con una tabella 3x2.
File "header.php"
<?php
$utente = $_COOKIE ['user'];
if (!isset ($utente)) die ("Non sei autorizzato ad accedere alla pagina!!");
?>
<html>
<head>
<title><?php echo ($pagename); ?></title>
<link rel="stylesheet" href="css/stili.css" type="text/css">
</head>
<body leftmargin=10>
<TABLE cellSpacing=0 cellPadding=10 width="100%" height=100% align=center border=0 class=bodyline>
<TBODY>
<TR height=5%>
<TD class=row1>
<?
echo "<span class=gensmall>utente corrente ".$utente."</span><hr>";
?>
</TD>
<TD class=row1><CENTER><H4><B>Trouble Tickets</B></H4></CENTER>
</TD>
</TR>
|
Di interesse in questa pagina, vi è solo il controllo fatto sulla presenza o meno di un valore della username sul cookie, e cioè il controllo di accesso all'applicazione; questo viene realizzato usato la variabile vettore globale $_SESSION. La chiave su cui viene fatto il controllo è "user", la stessa impostata come primo parametro nella funzione setcookie(). Infatti, se non è settata la variabile $_COOKIE['user'], il controllo restituisce il messaggio di errore e l'esecuzione del codice termina qui.
Torna su | Indice Guida | Pagina << 38 >>
|