• User

    pagina recensioni e commenti

    salve,
    vorrei realizzare per il mio sito una pagina recensioni dove i visitatori scrivono i loro commenti e recensioni sui servizi offerti, ma prima di essere pubblicate sul sito, queste recensioni mi devono arrivare in casella di posta e poi devo deciderle se pubblicarle o meno sul sito.
    E' una cosa fattibile? qualcuno potrebbe aiutarmi?
    Grazie


  • User

    Certo che e' possibilissimo!
    Io personalmente farei cosi:
    Una volta compilato il modulo, lo salverei su un database MYSQL, cosi hai la possibilita' di metterlo online quando vuoi tu, al limite utilizzando un campo "PUBBLICATO" si/no, cosi, viene memorizzato sul database con il valore NO, e quando tu lo approvi modifichi questo valore in SI.
    Subito dopo puoi inviarti una email (in formato testo o html) al tuo indirizzo di posta che hai scelto. Per quanto riguarda ciò ti invito a leggere informazioni riguardo MAIL() funtcion e dintorni (cerca su internet quello che fa nel tuo caso).
    In parole povere, hai la possibilita' di inviarti in modo AUTOMATICO (o manuale) una email settando dei parametri quali : mittente, destinatario, corpo del testo etc e questo puoi farlo sia in format TESTO che in HTML.
    Fai attenzione pero' che spesso dipende anche dall'hosting che utilizzi (vuole hosting UNIX) anche se io personalmente lo ho utilizzato anche su hosting windows.
    Dopo aver letto l'email in questione, tramite un programmino in php o manualmente potrai settare il campo PUBBLICATO in SI affinchè gli utenti possono leggere la recensione.
    Se serve aiuto fammi sapere. CIAOO


  • User

    non so prioprio da dove partire... sono a digiuno di php....
    a tal proposito in rete ho trovato poco di pronto, e mi sono soffermato su questi

    Quello che segue è il codice che salva quanto nel database quanto scritto nel modulo
    <?php
    $commento = $_POST['commento'];
    $data = date('Y/m/d');
    $db = mysql_connect("localhost", "stichtom",""); /accedo al database/
    if(!$db) /se c'é stato qualche errore:/
    die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db); /scegli il tuo database/
    $testo="INSERT INTO commenti (commento,data) VALUES ('$commento','$data')";
    if(!mysql_query($testo,$db)) /eseguo la query e controllo se va a buon fine ^^/
    die('Errore: non riesco a eseguire la query');
    mysql_close($db);
    ?>

    Quello che segue è il codice che permette di leggere quanto scritto nel modulo e salvato precentemente
    <?php
    $contatore = 0;
    $db = mysql_connect("localhost", "stichtom",""); /accedo al database/
    if(!$db) /se c'é stato qualche errore:/
    die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db); /scegli il tuo database/
    $testo="SELECT * FROM commenti WHERE 1";
    if(!$query = mysql_query($testo,$db)) /eseguo la query e controllo se va a buon fine ^^/
    die('Errore: non riesco a eseguire la query');
    echo "<html><head><title>Pagina di commenti</title></head><body>";
    while($array = mysql_fetch_array($query))
    {
    echo "<strong>Commento</strong>del ".$array['data'].":<font color='red'>\n".$array['commento']."</font><br>";
    }
    echo "<br></body></html>";
    mysql_close($db);
    ?>

    Nel mio database ho creato una tabella immettendo la seguente query con il comando sql

    CREATE TABLE commenti (id INT (5) UNSIGNED not null AUTO_INCREMENT, commento VARCHAR (200),data VARCHAR(10), PRIMARY KEY (id))

    Ilmio problema è che non riesco a connettermi al database.

    i dati/credenziali del mio database sono:

    questa tabella l'ho creata con la seguente query:
    CREATE TABLE commenti (id INT (5) UNSIGNED not null AUTO_INCREMENT, commento VARCHAR (200),data VARCHAR(10), PRIMARY KEY (id))

    Ora vorrei sapere dove inserire queste credenziali nei codici php indicati sopra e per potermi connettere e scrivere nella tabella del database


  • User Attivo

    Ti consiglio di studiare un po' di base html e php prima di intraprendere certi discorsi altrimenti sarebbe il tutto molto difficile, sia per te che per chi ti volesse aiutare... finirebbe per fartelo lui...

    P.S.: come hai creato la tabella senza fare la connessione al db? L'hai fatta con phpmyadmin? E come hai effettuato l'accesso con phpmyadmin?


  • User

    @nicolass2008 said:

    non so prioprio da dove partire... sono a digiuno di php....
    a tal proposito in rete ho trovato poco di pronto, e mi sono soffermato su questi

    Quello che segue è il codice che salva quanto nel database quanto scritto nel modulo
    <?php
    $commento = $_POST['commento'];
    $data = date('Y/m/d');
    $db = mysql_connect("localhost", "stichtom",""); /accedo al database/
    if(!$db) /se c'é stato qualche errore:/
    die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db); /scegli il tuo database/
    $testo="INSERT INTO commenti (commento,data) VALUES ('$commento','$data')";
    if(!mysql_query($testo,$db)) /eseguo la query e controllo se va a buon fine ^^/
    die('Errore: non riesco a eseguire la query');
    mysql_close($db);
    ?>

    Quello che segue è il codice che permette di leggere quanto scritto nel modulo e salvato precentemente
    <?php
    $contatore = 0;
    $db = mysql_connect("localhost", "stichtom",""); /accedo al database/
    if(!$db) /se c'é stato qualche errore:/
    die('ERRORE: non posso accedere al database!');
    mysql_select_db("my_stichtom",$db); /scegli il tuo database/
    $testo="SELECT * FROM commenti WHERE 1";
    if(!$query = mysql_query($testo,$db)) /eseguo la query e controllo se va a buon fine ^^/
    die('Errore: non riesco a eseguire la query');
    echo "<html><head><title>Pagina di commenti</title></head><body>";
    while($array = mysql_fetch_array($query))
    {
    echo "<strong>Commento</strong>del ".$array['data'].":<font color='red'>\n".$array['commento']."</font><br>";
    }
    echo "<br></body></html>";
    mysql_close($db);
    ?>

    Nel mio database ho creato una tabella immettendo la seguente query con il comando sql

    CREATE TABLE commenti (id INT (5) UNSIGNED not null AUTO_INCREMENT, commento VARCHAR (200),data VARCHAR(10), PRIMARY KEY (id))

    Ilmio problema è che non riesco a connettermi al database.

    i dati/credenziali del mio database sono:

    questa tabella l'ho creata con la seguente query:
    CREATE TABLE commenti (id INT (5) UNSIGNED not null AUTO_INCREMENT, commento VARCHAR (200),data VARCHAR(10), PRIMARY KEY (id))

    Ora vorrei sapere dove inserire queste credenziali nei codici php indicati sopra e per potermi connettere e scrivere nella tabella del database

    [php]
    try
    {
    $objPDO = new PDO ( $strDSN, $strUser, $strPass, array(PDO::ATTR_PERSISTENT => true) );
    $objPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $strQuery = "INSERT INTO commenti (commento, data) values ($_POST['commento'], date('Y/n/d'))";
    $objPDO->exec($strQuery);
    } catch ( PDOException $e) {
    die ( "Errore: " . $e->getMessage() );
    }
    $objPDO = null;
    [/php]

    [php]
    i = 0;
    $strQuery = "SELECT * FROM commenti";
    $objStatement = $objPDO->prepare($strQuery);
    $objStatement->execute();
    while ($arRow = $objStatement->fetch(PDO::FETCH_ASSOC))
    {
    print "Row $i";
    foreach ($arRow as $key => $value)
    {
    print " - Commento: $value<br />";
    }
    $i++;
    }
    [/php]