1. Andate su PhMyAdmin
e inserite i seguenti codici SQL nel database:
e...Codice:CREATE TABLE `articoli` ( `art_id` int(11) NOT NULL auto_increment, `art_autore` varchar(40) NOT NULL default '', `art_titolo` varchar(100) NOT NULL default '', `art_articolo` text NOT NULL, `art_data` date NOT NULL default '0000-00-00', PRIMARY KEY (`art_id`) ) ;
2. Create il file config.php e inserite il codice:Codice:CREATE TABLE `commenti` ( `com_id` int(5) NOT NULL auto_increment, `com_art` int(11) NOT NULL default '0', `com_autore` varchar(40) NOT NULL default '', `com_testo` varchar(255) NOT NULL default '', PRIMARY KEY (`com_id`) );
3. Create il file insert_post.php e inserite il codice:Codice:<? $dbhost = "ip o host in cui avete creato il db (di solito è localhost)"; $dbname = "vostro database"; $dbuser = "username database"; $dbpass = "password database"; $connect = @mysql_connect($dbhost, $dbuser, $dbpass) or die (mysql_error()); @mysql_select_db($dbname) or die (mysql_error()); ?>
4. Create il file index.php e inserite il codice:Codice:<html> <head> <title>Blog: inserimento news</title> </head> <body> <h1>Inserisci un articolo</h1> <? //includiamo il file di configurazione @include "config.php"; //valorizziamo le variabili con i dati ricevuti dal form if(isset($_POST['submit'])){ if(isset($_POST['autore'])){ $autore = addslashes($_POST['autore']); } if(isset($_POST['titolo'])){ $titolo = addslashes($_POST['titolo']); } if(isset($_POST['articolo'])){ $articolo = addslashes($_POST['articolo']); } // popoliamo i campi della tabella articoli con i dati ricevuti dal form $sql = "INSERT INTO articoli (art_autore, art_titolo, art_articolo, art_data) VALUES ('$autore', '$titolo', '$articolo', now())"; // se l'inserimento ha avuto successo inviamo una notifica if (@mysql_query($sql) or die (mysql_error())){ echo "Articolo inserito con successo."; } }else{ // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento ?> <form action="insert_post.php" method="post"> Autore:<br> <input name="autore" type="text" size="20"><br> Titolo:<br> <input name="titolo" type="text" size="30"><br> Articolo:<br> <textarea name="articolo" cols="40" rows="10"></textarea><br> <input name="submit" type="submit" value="Invia"> </form> <? } ?> </body> </html>
5. Create il file anteprima.php e inserite il codice:Codice:<html> <head> <title>Il mio Blog</title> </head> <body> <h1>Un blog in PHP</h1> <? // includiamo il file di configurazione @include "config.php"; // includiamo la pagina contenente il codice per la creazione delle anteprime @require "anteprima.php"; // estraiamo i dati relativi agli articoli dalla tabella $sql = "SELECT * FROM articoli ORDER BY art_data DESC"; $query = @mysql_query($sql) or die (mysql_error()); //verifichiamo che siano presenti records if(mysql_num_rows($query) > 0){ // se la tabella contiene records mostriamo tutti gli articoli attraverso un ciclo while($row = mysql_fetch_array($query)){ $art_id = $row['art_id']; $autore = stripslashes($row['art_autore']); $titolo = stripslashes($row['art_titolo']); $data = $row['art_data']; $articolo = stripslashes($row['art_articolo']); //valorizziamo una variabili con il link all'intero articolo $link = " ..<br><a href=\"articolo.php?id=$art_id\">Leggi tutto</a>"; echo "<h2>".$titolo."</h2>"; // creaimo l'anteprima che mostra le prime 30 parole di ogni singolo articolo // per farlo utilizzo una funzione che vi presenterò più avanti echo @[Solo gli utenti registrati possono vedere i link. Clicca qui per registrarti..]eprima($articolo, 30, $link); echo "<br><br>"; // formattiamo la data nel formato europeo $data = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', $data); // stampiamo una serie di informazioni echo "Scritto da <b>". $autore . "</b>"; echo "| Articolo postato il <b>" . $data . "</b>"; echo "| Commenti: "; // mostriamo il numero di commenti relativi ad ogni articolo $conta = "SELECT COUNT(com_id) as conta from commenti WHERE com_art = '$art_id'"; $conto = @mysql_query ($conta); $tot = @mysql_fetch_array ($conto); echo $sum2 = $tot['conta']; echo "<hr>"; } }else{ // se in tabella non ci sono records... echo "Nessun articolo presente."; } ?> </body> </html>
6. Create il file articolo.php e inserite il codice:Codice:<? function anteprima($testo, $lunghezza, $finale) { return (count($parole = explode(' ', $testo)) > $lunghezza) ? implode(' ', array_slice($parole, 0, $lunghezza)) . $finale : $testo; } ?>
7. Create il file insert_comment.php e inserite il codice:Codice:<html> <head> <title>Il mio Blog</title> </head> <body> <? // controlliamo che sia stato inviato un id numerico alla pagina if(isset($_GET['id'])&&(is_numeric($_GET['id']))){ // valorizziamo la variabile relativa all'id dell'articolo e includiamo il file di configurazione $art_id = $_GET['id']; @include "config.php"; // selezioniamo dalla tabella i dati relativi all'articolo $sql = "SELECT art_autore,art_titolo,art_data,art_articolo FROM articoli WHERE art_id='$art_id'"; $query = @mysql_query($sql) or die (mysql_error()); // se per quell'id esiste un articolo.. if(mysql_num_rows($query) > 0){ // ...estraiamo i dati e mostriamoli a video $row = mysql_fetch_array($query) or die (mysql_error()); $autore = stripslashes($row['art_autore']); $titolo = stripslashes($row['art_titolo']); $data = $row['art_data']; $articolo = stripslashes($row['art_articolo']); echo "<h2>".$titolo."</h2>" . $articolo . "<br><br>"; $data = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', $data); echo "Scritto da <b>". $autore . "</b>"; echo "| Articolo postato il <b>" . $data . "</b>"; // link alla pagina dei commenti echo "<br><a href=\"insert_comment.php?id=$art_id\">Invia un commento</a><br><br>"; // visualizzianmo tutti i commenti $sql_com = "SELECT com_autore, com_testo FROM commenti WHERE com_art='$art_id'"; $query_com = @mysql_query($sql_com) or die (mysql_error()); if(mysql_num_rows($query_com) > 0){ echo "Commenti:<br>"; while($row_com = mysql_fetch_array($query_com)){ $com_autore = stripslashes($row_com['com_autore']); $com_testo = stripslashes($row_com['com_testo']); echo $com_testo . "<br>"; echo "Inserito da <b>". $com_autore . "</b>"; echo "<hr>"; } } } }else{ // se per l'id non esiste un articolo.. echo "Nessun articolo trovato."; } ?>
Spero di esservi stato utileCodice:<html> <head> <title>Blog: inserimento commenti</title> </head> <body> <h1>Inserisci un tuo commento:</h1> <? // includiamo il file di configurazione @include "config.php"; // se sono stati inviati dei parametri valorizziamo con essi le variabili // per l'inserimento nella tabella if(isset($_POST['submit'])){ if(isset($_POST['autore'])){ $autore = addslashes($_POST['autore']); } if(isset($_POST['testo'])){ $testo = addslashes($_POST['testo']); } if(isset($_POST['id'])){ $com_art = addslashes($_POST['id']); } // popoliamo i campi della tabella commenti con i dati ricevuti dal form $sql = "INSERT INTO commenti (com_autore, com_testo, com_art) VALUES ('$autore', '$testo', '$com_art')"; // se l'inserimento ha avuto successo inviamo una notifica if (@mysql_query($sql) or die (mysql_error())){ echo "Commento inserito con successo."; } }else{ //controlliamo che l'id dell'articolo sia realamente esistente if(isset($_GET['id'])&&(is_numeric($_GET['id']))){ $com_art = addslashes($_GET['id']); $sql = "SELECT art_id FROM articoli WHERE art_id='$com_art'"; $query = @mysql_query($sql) or die (mysql_error()); if(mysql_num_rows($query) > 0){ // se non sono stati inviati dati dal form mostriamo il modulo per l'inserimento ?> <form action="insert_comment.php" method="post"> Autore:<br> <input name="autore" type="text" size="20"><br> Testo:<br> <textarea name="testo" cols="40" rows="10"></textarea><br> <input name="id" type="hidden" value="<? echo $com_art; ?>"> <input name="submit" type="submit" value="Invia"> </form> <? // se l'id dell'articolo non esiste o non è numerico inviamo delle notifiche }else{ echo "Impossibile inserire un commento."; } }else{ echo "Impossibile inserire un commento."; } } ?> </body> </html>
Fonte: Web




LinkBack URL
Riguardo i LinkBacks


Rispondi Citando