In questo topic vi spiegherò come creare un script per poter dare ai visitatori del vostro sito web la possibilità di lasciare un commento su un vostro intervento.
condizione necessaria è possedere un database mysql.
Colleghiamoci su di esso attraverso phpMyAdmin e creiamo la seguente query
- Codice: Seleziona tutto
I codici sono visibili solo agli utenti del forum, registrati e avrai pieno accesso alle nostre risorse
cosa abbiamo fatto ? abbiamo creato una tabella denominata commenti, con 4 campi
1) id : la chiave primaria di ogni commento, sempre piena e auto-incrementante, nel senso che ogni volta che si aggiungerà un commento, il valore di questo campo aumenterà di uno.
2 )username : anche questo valore non sarà mai nullo, varchar(30) indica una stringa con contenuto variabile fino a un massimo di 30 caratteri
3) commento : sarà il testo del messaggio, stesso discorso di sopra
4) data : la data in cui il commento è stato inserito
Con ENGINE=MyISAM, dichiariamo di voler creare una tabella nel modello predefinito di MySQL
perfetto, ora abbiamo il loco dove verranno immagazzinati i dati, vediamo adesso come fare per inserirli e mostrarli.
abbiamo la nostra pagina web dove abbiamo scritto l'argomento che vogliamo sia commentato, aggiungiamo un form in html per l'invio dei dati da parte del commentatore.
- Codice: Seleziona tutto
I codici sono visibili solo agli utenti del forum, registrati e avrai pieno accesso alle nostre risorse
l'azione di questo form è d'inviare i dati raccolti nel input "username" e nella textarea "commento" alla pagina inserisci_commento.php che li elaborerà e in caso di esito positivo l'invierà a sua volta nel database.
vediamo adesso come è strutturata la pagina inserisci_commento.php
- Codice: Seleziona tutto
I codici sono visibili solo agli utenti del forum, registrati e avrai pieno accesso alle nostre risorse
ho inserito i commenti a ogni azione per poter spiegare con maggiore facilità quello che accade nella pagina.
Connessione al database : dobbiamo dire al server dove andare a inserire questi commenti, per cui come buona norma quando si utilizza un database mysql si crea un file con le impostazioni generali. Chiamiamo questo file config.php
ecco cosa c'è dentro
- Codice: Seleziona tutto
I codici sono visibili solo agli utenti del forum, registrati e avrai pieno accesso alle nostre risorse
nelle variabili dbhost, dbname, dbuser, dbpasswd, all'interno degli apici ' ' dovremo inserire i nostri dati personali, che ci sono stati forniti dal fornitore del servizio quando abbiamo attivato, l'account.
mysql_connect($dbhost, $dbuser, $dbpasswd) aprirà la connessione con mysql, il cui valore sarà passato alla variabile db, mentre con mysql_select_db($dbname, $db) specifichiamo il database attivo nella connessione specificata.
il file config.php viene richiamato nella pagina inserisci_commento.php attraverso il comando include
Recupero informazioni dal formabbiamo visto che ogni commento ha due campi immessi dall'utente, il suo username e il messaggio, ma sperando di ricevere molti commenti, avremo una serie esponenziale di dati da gestire. per cui le stringhe
$username = $_POST['username']; $commento = $_POST['commento']; recuperano i dati del form e li trasformano in array nome > valore
Controllo campila funzione if (in inglese "se") controlla che i campi username e commento non siano stati lasciati vuoti in tal caso restituirà un output di errore, nel caso opposto (else, in inglese "altrimenti") eseguirà la query (da Wikipedia: l'interrogazione di un database in modo da ottenere dei dati contenuti in uno o più database) !
La nostra query inserirà nella tabella commenti i valori username, commento e time nei campi specifici.
La funzione time() restituisce l'attuale data.
Bene, questo è il metodo per inserire i commenti. E per visualizzarli ?
Dobbiamo creare una pagina leggi_commenti.php
- Codice: Seleziona tutto
I codici sono visibili solo agli utenti del forum, registrati e avrai pieno accesso alle nostre risorse
Il formato della data quando la visualizzi nella variabile formatodata io ho scelto di visualizzare la data in questo modo
05 Sat July 2008 - 01:38
d D F Y h i
Interrogazione database i commenti sono prelevati dalla tabella ordinati a seconda della data in cui sono stati scritti.
Visualizzazione commenti while è la condizione che l'output deve seguire, in questo caso mysql_fetch_assoc ossia un array associativo.
[url=http://www.isola-atlantide.com/demo/commenti/]pagina di esempio[/url]