|
Home -> Manuali e Tutorials -> Guida PHP -> TagBoard (2/3)
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
REALIZZARE UNA TAG BOARD IN PHP
Il file tag.php è costituito da una prima porzione di codice php che viene eseguita solo nel caso in cui $_POST["message"] e $_POST["nome"] siano diversi dai valori di default; questo garantisce un controllo sui dati immessi nei due campi NOME e MESSAGE. In questa sezione, viene stabilita la connessione con il database, vengono sostituiti i codici abbreviati delle smiles con i tag html IMG corrispondenti, che sono stati inseriti nel file smilies.php ; per far ciò si usa la funzione di stringhe str_replace. Viene poi eseguito un controllo su db, per verificare che il messaggio non sia stato già inserito, tramite la funzione esiste, e nel caso in cui essa ritorna false, viene memorizzato il messaggio su db. Quest'ultimo controllo impedisce che il messaggio venga reinserito nel database quando si effettua un refresh di pagina subito dopo un primo inserimento.
La seconda parte del codice è puramente costituita dall'html necessario per creare la tag e un codice js necessario per far funzionare il contatore di caratteri rimanenti nella textarea del messaggio.
Successivamente seguono delle righe di codice in php necessarie a ricostruire il layer DIV contenente i vari messaggi, attraverso l'uso della funzione lista, anche essa definita in fmysql.php .
Segue poi tutto il rimanente codice html necessario a costruire il form centrale della tag. Notate bene la posizione in cui è stato inserito il tagboard.js necessario a far comparire la popup delle smiles.
Di seguito è invece riportato il codice del file fmysql.php :
<?php
function closeConnect($conn) // Chiude la connessione al db
{
mysql_close($conn);
}
function connessione($database) // Apre la connessione al db
{
$conn=mysql_connect("localhost","root","")
or die("Connessione non riuscita: ".mysql_error());
mysql_select_db($database) or die("Selezione del database non riuscita");
return $conn;
}
function mysql_list_all($table,$con) // Seleziona tutti i mess presenti
{
$result=mysql_query("SELECT * FROM $table order by id desc;",$con);
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
$ret[]=$row;
}
return $ret;
}
function lista($value) // Printa la tabella con tutti i mess
{
print("<TABLE border=0 cellpadding=0 cellspacing=4 width=100%>");
foreach($value as $key=>$val)
{
print("<TR height=10><TD align=right valign=middle class=row4><SPAN class=genmed><IMG SRC='icon.gif' WIDTH='12' HEIGHT='9' BORDER=0 ALT='Lasciato il ".$val["data"]."'> </SPAN></TD></TR>");
if($val["www"]!="http://" && $val["www"]!="")
{
print("<TR><TD class=row1><SPAN class=genmed> <A HREF='".$val["www"]."' target=void class=genmed><IMG SRC='icon_home.gif' WIDTH=13 HEIGHT=13 BORDER=0 alt='Il mio sito'></A>");
}
else print("<TR><TD class=row1><SPAN class=genmed>");
if($val["email"]!="" && $val["email"]!="EMAIL" && $val["email"]!="email")
{
print(" <A HREF='mailto:".$val["email"]."' class=genmed><IMG SRC='mail.jpg' WIDTH='10' HEIGHT='8' BORDER=0 ALT='Manda email'></A><B> Nome:</B> ".$val["nome"]."</SPAN></TD></TR>");
}
else
{
print(" <IMG SRC='nomail.jpg' WIDTH='10' HEIGHT='8' BORDER=0><B> Nome:</B> ".$val["nome"]."</SPAN></TD></TR>");
}
print("<TR><TD valign=top class=row3><SPAN class=genmed><B> Mex:</B> ".$val["message"]."</SPAN></TD></TR>");
}
print("</TABLE>");
}
function mysql_insert($value,$data,$table,$conn) // Inserisce nuovi mess nel db
{
$query=("INSERT INTO $table (nome,email,message,data,www) VALUES ('".$value["nome"]."','".$value["email"]."','".$value["message"]."','".$data."','".$value["www"]."');");
$result=mysql_query($query);
}
function esiste($arr,$table,$conn) // Controlla l'esistenza del nuovo mess nel db
{
$query = "SELECT * FROM ".$table." WHERE nome='".$arr["nome"]."' AND email='".$arr["email"]."' AND message='".$arr["message"]."' AND www='".$arr["www"]."';";
$res = mysql_query($query, $conn);
while($row = mysql_fetch_array($res, MYSQL_ASSOC))
$ret = $row;
if(is_array($ret))
return true;
else
return false;
}
?>
|
Qui sono presenti rispettivamente le funzioni per chiudere la connessione, aprire la connessione al db, per ottenere tutti i records della tabella dati (mysql_list_all), per printare tutti i records su di una tabella (lista), per inserire i nuovi messaggi, e la funzione esiste che controlla se è stato già inserito un mess simile a quello in questione. Da evidenziare è la funzione lista, in cui vengono effettuati i controlli sull'indirizzo email e sull'url del sito personale di riferimento.
Torna su | Indice Guida | Pagina << 27 >>
|