|
Home -> Manuali e Tutorials -> Guida PHP -> Creare sito php (2/4)
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
CREARE UN SITO IN PHP
Pagina "esegui_inserisci.php"
Di seguito è riportato il suo codice php-html:
<?php
$pagename = "Inserimento nuovo utente";
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=0 width=100% class=bodyline height=100%>
<TR>
<TD valign=top>
<?
$nome = $_POST ["nome"];
$telefono = $_POST ["telefono"];
$indirizzo = $_POST ["indirizzo"];
if($_POST ["nome"]!="" && $_POST ["telefono"]!="" && $_POST ["indirizzo"]!="")
{
$link = mysql_connect ("localhost", "root", "") or die ("Non mi posso connettere");
mysql_select_db ("trouble_ticket") or die ("Non mi posso connettere al DB");
$sql = "INSERT INTO utenti (nome, telefono, indirizzo) VALUES('$nome','$telefono','$indirizzo')";
$result = mysql_query ($sql,$link) or die ("query non funzionante = $sql");
mysql_close ($link);
if ($result) echo "<BR><BR><center><span class=gensmall>Inserimento eseguito con successo!</span></center>";
}
else echo("<BR><BR><center><span class=gensmall>Devi inserire tutti i dati nel form.</span></center>");
?>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<tr height=5%>
<td colspan=2 class=row1 align=middle> </td>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
|
La porzione centrale di codice php, dopo aver controllato che siano stati effettivamente immessi (Controllo cioè che non sia stato cliccato INVIA prima ancora di aver compilato tutti i campi richiesti), effettua l'inserimento dei tre campi nome, telefono, indirizzo, i cui valori sono contenuti nell'array globale $_POST.
Pagina "elenco_utenti.php"
<?php
$pagename = "Gestione utenti";
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>
<?
$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 utenti";
$result = mysql_query ($sql,$link);
if (mysql_num_rows($result) == 0) {
echo "<BR><BR><center><span class=gensmall>Non ci sono utenti registrati!</span></center> <br>";
exit;
}
echo "<table width=\"90%\" border=\"0\" cellspacing=\"5\" cellpadding=\"3\" >";
echo "<tr height=30>";
echo("<td align=center class=row1><B>Nome</B></td><td align=center class=row1><B>Telefono</B></td><td align=center class=row1><B>Indirizzo</B></td><td align=center class=row1><B>Modifica</B></td><td align=center class=row1><B>Cancella</B></td><td align=center class=row1><B>Ins. Prob.</B></td></tr>");
while ($row = mysql_fetch_assoc($result)) {
echo "<tr height=20>";
echo "<td align=middle>".$row["nome"]."</td>";
echo"<td align=middle>".$row["telefono"]."</td>";
echo"<td align=middle>".$row["indirizzo"]."</td>";
echo("<td align=center><A HREF='mod_ut_form.php?id=".$row["id"]."'><IMG SRC='redigermini.gif' WIDTH=16 HEIGHT=16 BORDER=0 ALT='Modifica utente'></A></td><td align=center><A HREF='del_ut.php?id=".$row["id"]."'><IMG SRC='LOGOUT.GIF' WIDTH='16' HEIGHT='16' BORDER=0 ALT='Cancella utente'></A></td><td align=center>"); ?><input type=button value=Edit onclick="location.href='ins_prob.php?id=<? echo($row["id"]);?>'"> <? echo("</td>");
echo "</tr>";
}
echo "</TABLE>";
mysql_free_result($result);
mysql_close ($link);
?>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<tr height=5%>
<td colspan=2 class=row1 align=middle> </td>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
|
La porzione centrale di codice php, printa la tabella con l'elenco di tutti i clienti ed inoltre printa per ognuno di essi, tre link: uno per la modifica dei suoi dati, uno per la sua eliminazione dal db e l'ultimo per inserire una sua eventuale problematica. Per far ciò dobbiamo recuperare i dati della tabella "utenti" dal db, attraverso una query MySQL. Se quest'ultima non è vuota, viene quindi printata la tabella con i links; vediamo ora in dettaglio come, una volta ottenuti i dati dal db (cioè abbiamo eseguito la query attraverso la funzione mysql_query()) e quindi $result contiene effettivamente qualcosa, come dobbiamo fare per printare una riga della tabella con i vari valori. Come prima cosa, il formato di $result non è nè una stringa e nè un array, ma è una risorsa numerica, che va quindi trasformata in maniera associativa in un array, proprio attraverso la funzione mysql_fetch_assoc($result). Essa ritorna un array, chiamato $row, proprio perchè esso contiene tutti i valori memorizzati in un record della tabella del db. Ad esempio per la tabella utenti, esso potrebbe essere, per il primo record
Array([id] = 1, [nome] = Andrea Gentili, [telefono] = 06486234, [indirizzo] = Via appia 233) .
A tal punto posso eseguire un ciclo WHILE fino a quando esiste un valore per $row, e cioè fino all'ultimo record della tabella; ad ogni iterazione viene printato il codice html della riga della tabella html con i valori contenuti in $row e i tre links. I primi due links sono realizzati tramite due immagini, mentre l'ultimo tramite un bottoncino, che necessita quindi del codice js per poter eseguire l'azione. A tutti e tre i links, viene accodato all'url di riferimento l'id dell'utente, che ci serve per identificare l'utente su cui poter eseguire poi l'azione richiesta (es. per il cancella : HREF='del_ut.php?id=".$row["id"]."' Ricordatevi sempre di inserire il carattere " ? " prima della copia chiave=valore accodata all'url).
N.B.: ricordatevi di chiudere sempre la connessione a fine pagina o comunque sia prima che venga interrota l'esecuzione del codice tramite un exit.
Torna su | Indice Guida | Pagina << 39 >>
|