Php, inserire commenti

aiuto per creare siti web dinamici con o senza l'utilizzo di database
Apri un nuovo argomento Rispondi all’argomento
Autore Messaggio
 Oggetto del messaggio: Php, inserire commenti
MessaggioInviato: 05/07/2008, 2:03 
Avatar utente
Non connesso

Amministratore

Iscritto il: 09/08/2007, 12:35
Messaggi: 1550
Località: Roma
Blog: View Blog (1)
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 form
abbiamo 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 campi
la 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]

_________________
Immagine
Immagine

Cercasi volti nuovi per lo staff di Atlantide, fai la tua richiesta oggi stesso :mrgreen:


Profilo
 E-mail WWW  
 
 Pubblicità : Atlantide consiglia
Staff


 Oggetto del messaggio: Re: Php, inserire commenti
MessaggioInviato: 21/12/2008, 12:11 
Avatar utente
Non connesso

Apprendista

Iscritto il: 21/12/2008, 11:34
Messaggi: 14
ottima guida


ora provo ad integrarla con joomla :ok: :ok:

_________________
Immagine


Profilo
 E-mail WWW  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento

Torna a Php e MySql

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti