• User

    [Rassegna stampa] Implementazione form

    Ciao a tutti,
    sto realizzando un portale di informazione in **php **intrecciato a mysql.

    Ho creato un pannello di amministrazione attraverso il quale è possibile inserire e generare in automatico nuovi articoli.

    Ora ho due quesiti che vorrei domandarvi:

    1) La prima implementazione che vorrei attuare riguarda il form di inserimento del testo dell'articolo. Ora come ora utilizzo un semplice form:

    <textarea rows="11" name="testo" cols="43"></textarea>

    vorrei implementarlo creando ad esempio un form di inserimento come quello utilizzato in questo forum, che mi permetta quindi di formattare il testo a mio piacere.

    Esiste a riguardo uno script già pronto che posso modificare in base alle mie esigenze? Oppure, conoscete un articolo o una guida che mi aiuti nella sua messa in opera?

    2) Il secondo problema che ho riaguarda invece la visualizzazione dell'output. La rassegna stampa è presentata mensilmente. Ho aggiunto quindi questo codice per salvare oltre al titolo dell'articolo, il testo ecc, anche la data di inserimento.

    [php]//calcolo della data
    $d = date('d');
    $m = date('m');
    $y = date('Y');

    $data = $d ."/". $m ."/". $y;

    //calcolo dell ora

    $g = date('G');
    $i = date('i');

    $ora = $g .":". $i;[/php]Come posso fare (con questo codice) per far visualizzare in una determinata pagina solo gli articoli inseriti ad esempio nel mese di gennaio piuttosto che febbraio?

    Avrei pensato ad un semplice
    $query = "SELECT * FROM articolo where MESE='gennaio'";

    ma ovviamente con il codice che ho utilizzato per stampare la data e l'ora questo non è possibile. Avete idee o consigli a riguardo? Anche un nuovo modo di stampare la data va bene purchè seccessivamente possa selezionare l'outup in base al mese.

    Ringrazio in anticipo tutti coloro che mi aiuteranno.

    Ciao
    Alessandro


  • Consiglio Direttivo

    Ciao ale_colombo

    Per il primo quesito ti consiglierei di utilizzare Tinymce.
    Di facile implementazione e gestione.

    Per il secondo invece ti consiglierei di usare, quando lavori date con il Db, sempre il formato timestamp e da qui' poi fai un raffronto su numeri interi per estrarre quello che ti giova 😉


  • User

    Ciao Samyorn,
    grazie del consiglio, TinyMCE è proprio quello che cercavo.

    A propostio di questo bel tool, ho un problema.
    L'integrazione del tool è andata a buon fine, l'unico problema è che quando mi viene visualizzato l'output esso non risulta formattatato ma mi viene viasualizzato anche il codice di formattazione.

    es: invece che "ciao" mi visualizza "<p>ciao</p>"

    il richiamo dell'input lo eseguo attraverso $row[TESTO], devo magari cambiare qualche parametro?

    Ho provato settando così lo script ma non avuto nessun risultato positivo.

    [PHP]<script language="javascript" type="text/javascript">
    tinyMCE.init({
    theme : "advanced",
    mode : "textareas",
    apply_source_formatting : "true"
    });
    </script>[/PHP]

    Invece per quanto riguarda **timestamp **devo ammetere di non averlo mai usato. Saresti così gentile da indicarmi la sintassi per salvare i valori e successivamenti richiamarli?

    Grazie ancora della disponibilità.
    Ciao
    Alessandro


  • Consiglio Direttivo

    Per il primo problema prova a fare:
    [PHP]html_entity_decode($row[TESTO])[/PHP]

    Per il secondo puoi usare la funzione time() per ottenere il time stamp attuale, avendo il timestamp puoi formattare la data , o comunque ottenere i dati che ti interessano per fare le tue query, con la funzione date() o getdate().

    Trovi qualcosa nella sottosezione Funzioni di PHP, quì e quì.
    :ciauz:


  • User

    Provato ma nulla, semplicemente mi visualizza:

    html_entity_decode(<p><strong>ciao</strong></p>)

    la stringa in esame dove ho attuato la sostituzione è:

    [PHP] . "<p><font face="Verdana" size="2">$row[TESTO]</font>"[/PHP]


  • Consiglio Direttivo

    Ma scusa, se la formattazione del testo la fai tramite l'editor, perché metti altre formattazioni di testo?


  • User

    Perchè le altre formattazioni fanno parte della pagina di layout e degli altri parametri che vengono visualizzati.

    Sono un autodidatta e non sempre faccio lle cose con cognizione ma piuttosto prendo stinghe qua e la e cerco di usarle per i miei scopi.

    Quello che ho fatto per questa sezione è stato:

    • creare un pannello di amministrazione attraverso il quale salvare su database i vari parametri dell'articolo come data, ora, fonte, url della fonte, e ora il testo tramite l'editor tinyMCE;

    il file save.php è così composto:

    [php]<?
    include("xxxxx.php");

    $dipartimento = $_GET['dipartimento'];
    $titolo=htmlentities($_GET['titolo'], ENT_QUOTES);
    $sottotitolo=htmlentities($_GET['sottotitolo'], ENT_QUOTES);

    //calcolo della data
    $d = date('d');
    $m = date('m');
    $y = date('Y');

    $data = $d ."/". $m ."/". $y;

    //calcolo dell ora

    $g = date('G');
    $i = date('i');

    $ora = $g .":". $i;

    if (trim($titolo) == ""):
    echo "Non è stato specificato il titolo";

    elseif (trim($dipartimento) == ""):
    echo "Non è stata selezionato nessun Dipartimento";

    elseif ($pass != $password):
    echo "La password è sbagliata";

    else:
    $titolo = str_replace("<", "<", $titolo);
    $titolo = str_replace(">", ">", $titolo);

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "INSERT INTO articolo (ID,IP,HOST,DATA,ORA,DIPARTIMENTO,TITOLO,SOTTOTITOLO,IMG,TESTO,FONTE,LINKF,AUTORE) VALUES ('$id','$ip','$host','$data','$ora','$dipartimento','$titolo','$sottotitolo','$img','$testo','$fonte','$linkf','$autore')";

    if (mysql_query($query, $db))
    print "<script> location='../admin.php'; </script>";
    else
    print "Errore nell'inserimento";
    mysql_close($db); endif;
    ?>[/php]- Richiamare in una pagina con cornice standard i valori registrati attraverso un [php]<? include ("df_show.php"); ?>[/php]- creare il file df_show.php così come segue:

    [php]<?
    require("xxxxxx.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "SELECT * FROM articolo where DIPARTIMENTO='dirittiumani' AND ID='$id'";
    $i = 1;
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    {

    echo"<table border="0" width="100%">"
    . "<tr><td width="100%">"
    . "<table border="0" width="100%">"
    . "<tr>"
    . "<td width="5%" rowspan="2">"
    . "<p align="center"><img border="0" src="xxxxx.png" width="22" height="22"></td>"
    . "<td width="95%"><b><font color="#4b576d" face="Verdana" size="1">$row[TITOLO]</font></b></td>"
    . "</tr>"
    . "<tr>"
    . "<td width="95%"><font face="Verdana" size="1">Articolo intero - $row[DATA] | Tratto da <a target="_blank" href="$row[LINKF]"><font color="#008000">$row</font></a></font></td>"
    . "</tr></table></td>"
    . "</tr>"
    . "<tr><td width="100%"><font face="Verdana" size="1" color="#FFFFFF">-</font></td></tr>"
    . "<tr>"
    . "<td width="100%">"
    . "<div align="center"><center>"
    . "<table border="0" width="90%">"
    . "<tr>"
    . "<td width="100%"><hr size="1" color="#CFD4DE"></td>"
    . "</tr>"
    . "<tr>"
    . "<td width="100%">"
    . "<h1><b><font face="Verdana" size="4">$row[TITOLO]</font></b></h1>"
    . "<font face="Verdana" size="2" color="#797979">$row[SOTTOTITOLO]</font>"
    . "<p><img border="0" src="$row[IMG]">"
    . "$row[TESTO]"
    . "<p><font face="Verdana" size="1">Autore: </font><i><font face="Verdana" size="2">$row[AUTORE]</font></i></td>"
    . "</tr>"
    . "</table>"
    . "</center>"
    . "</div>"
    . "</td>"
    . "</tr>"
    ."";

    $i++;
    }
    ?>[/php]

    So lò che il codice è molto indietro rispetto ai tempi correnti ma devo per ora basarmi solo su quello che conosco.


  • User

    Up


  • Consiglio Direttivo

    [php]..............
    . "<font face="Verdana" size="2" color="#797979">$row[SOTTOTITOLO]</font>"
    . "<p><img border="0" src="$row[IMG]">"
    . html_entity_decode($row['TESTO'])
    . "<p><font face="Verdana" size="1">Autore: </font><i><font face="Verdana" size="2">$row[AUTORE]</font></i></td>"
    .....;
    [/php]
    Prova a modificarlo così 😉
    Facci sapere :ciauz:


  • User

    Ok funziona perfettamente ora.
    Grazie dell'aiuto Samyorn! A**pprezzo veramente!
    Ciao e buone feste!!

    Alessandro


  • Consiglio Direttivo

    Di nulla, alla prossima :ciauz: