Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    FCKeditor - corretto utilizzo

    Sono un neofita. Sto cercando di realizzare un piccolo script per la gestione delle news ed ho implementato fckeditor all'interno di esso, il problema è che, pur apparentemente funzionando (formatta il testo e lo archivia nel database) poi visualizza le notizie in modo scorretto, praticamente con i tag html, ed in questo modo li archivia nel database. Di questo tipo per essere precisi: ppppopjlkjkkjhikj ed è così che li rende.
    Dove sbaglio?
    Spero di non essermi spiegato in modo confuso, Ciao.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649

    Re: FCKeditor - corretto utilizzo

    Originariamente inviato da milazzo
    Spero di non essermi spiegato in modo confuso
    ehm...

  3. #3
    VVoVe: Sapevo di essermi spiegato male.
    Vengomi e spiegomi. Ho messo FCKeditor in una pagina php che vorrei utilizzare per scrivere news, archiviandole in un database.
    Scrivo qualcosa come : Provo a scrivere in grassetto.
    Nel campo dell'editor è visualizzato giusto, faccio invio per salvare la notizia. Viene salvata nel database Mysql. Appena la visualizzo in altra pagiuna realizzata all'uopo vedo scritto così:

    Provo a scrivere in grassetto</p>.
    Non mi pare tanto bello come risultato. Ho usato php per costruire lo scriptino in cui ho messo l'editor.
    Ciao.

  4. #4
    Help! Non posso trovare da qualche parte una guida un po' meno scarna e criptica rispetto a quella che trovo nel sito di FCKeditor.
    Questa formattazione del testo non riesco proprio a gestirla. Grazie, Francesco.

  5. #5
    Utente di HTML.it L'avatar di M4RCOS
    Registrato dal
    Nov 2005
    Messaggi
    11
    Ciao Francesco, da neofita a neofita, perche' non posti parte del codice per chiarire le idee?
    Ho da poco aggiunto anch'io FCKeditor, e mi sono ritrovato con lo stesso problema; e il problema era nel codice php che richiamava il testo formattato con tag html da mysql...questione di sintassi, normale x chi è agli inizi, ma sbattendo la testa al muro la soluzione vedrai che salta fuori..

    Un saluto a tutto il forum,
    M4RCOS

  6. #6
    Proprio quello che capita a me, aspetta che posto parte del codice

  7. #7
    Ecco il codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Aggiungi le news</title>
    <meta http-equiv="content-type"
    content="text/html; charset=iso-8859-1" />
    </head>
    <body>

    <?php
    include("FCKeditor/fckeditor.php") ;
    ?>


    <?php
    include 'connessionedb.php';

    if (isset($_POST['news'])):
    // Inserisci le notizie
    // usando il form sottostante.

    $aid = $_POST['aid'];
    $news = $_POST['news'];



    if ($aid == '') {
    exit ('

    Devi scegliere un autore per questa notizia Clicca ' .
    ' "Indietro" e tenta di nuovo.</p>');
    }

    $sql = "INSERT INTO notizie SET
    news='$news',
    data=CURDATE(),
    autoreid='$aid'";


    if (@mysql_query($sql)) {
    echo '

    Le informazioni sono state aggiunte</p>';
    } else {
    echo '

    Errore avvenuto inserendo una notizia: ' .
    mysql_error() . '</p>';
    }

    $jid = mysql_insert_id();

    if (isset($_POST['cats'])) {
    $cats = $_POST['cats'];
    } else {
    $cats = array();
    }

    $numcats = 0;
    foreach ($cats as $categorieid) {
    $sql = "INSERT IGNORE INTO categorienotizie
    SET notizieid=$jid, categorieid=$categorieid";
    $ok = @mysql_query($sql);
    if ($ok) {
    $numcats = $numcats + 1;
    } else {
    echo "

    Errore inserendo una categoria $categorieid: " .
    mysql_error() . '</p>';
    }
    }
    ?>



    Una notizia è stata aggiunta a <?php echo $numcats; ?> categorie.</p>



    Aggiungi una notizia</p>


    Ritorna alla funzione di ricerca</p>

    <?php
    else: // Consenti agli user di inserire una notizia


    $ricerca = @mysql_query('SELECT id, autore FROM autori');
    if (!$ricerca) {
    exit('

    Non sono in grado di ottenere la lista degli autori dal database.</p>');
    }

    $cats = @mysql_query('SELECT id, nome FROM categorie');
    if (!$cats) {
    exit('

    Non sono in grado di ottenere la lista delle categorie dal database.</p>');
    }
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">


    Scrivi la notizia:

    <?php
    $oFCKeditor = new FCKeditor('news') ;
    $oFCKeditor->BasePath = '/FCKeditor/';
    $oFCKeditor->Value = 'Default text in editor';
    $oFCKeditor->Create() ;
    ?>



    Autore:
    <select name="aid" size="1">
    <option selected value="">Selezionane uno</option>
    <option value="">---------</option>
    <?php
    while ($autori = mysql_fetch_array($ricerca)) {
    $aid = $autori['id'];
    $aname = htmlspecialchars($autori['autore']);
    echo "<option value='$aid'>$aname</option>\n";
    }
    ?>
    </select></p>


    Seleziona la categoria:

    <?php
    while ($categorie = mysql_fetch_array($cats)) {
    $cid = $categorie['id'];
    $cname = htmlspecialchars($categorie['nome']);
    echo "<label><input type='checkbox' name='cats[]' value='$cid' />$cname</label>
    \n";
    }
    ?>
    </p>
    <input type="submit" value="SUBMIT" />
    </form>
    <?php endif; ?>

    </body>
    </html>

    Con esso inserisco la news anche ad un autore e ad una categorie. Le news vengono inserite correttamente nel database e succede l'inconveniente di cui poarli tu nel post. Ciao.

  8. #8
    Utente di HTML.it L'avatar di M4RCOS
    Registrato dal
    Nov 2005
    Messaggi
    11
    Come hai detto te, lo script che mi mi hai inviato dovrebbe funzionare,poiche' il testo scritto su FCKeditor, viene correttamente salvato su db (testo con tag html); il problema si trova nel codice php che si occupa di richiamare il testo che hai salvato sul db, poichè quando vorresti visualizzare il testo della tua news, ti ritrovi invece quel groviglio di tag htmlVVoVe:, che viene interpretato come testo normale della news stessa...
    prova quindi ad inviarmi il codice in questione.
    Cmq ti posto parte del mio "view.php", che appunto richiama la news dal db, e la visualizza..
    Codice PHP:

    <? 
    include("top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top();

    //connessione al DB MySQL
    $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");


    $id=$_GET['id'];

    //query di visualizzazione univica dell'articolo selezionato 
    //in base al suo id
    $query 
    (
    "SELECT titolo, testo, data, autore, mail FROM news 
    WHERE id='
    $id'");


    $result mysql_query($query$db);

    //mysql_fetch_array()Oltre a memorizzare i dati del risultato in array 
    //con indice numerico, questa li memorizza anche con indici
    // associativi usando i nomi dei campi come chiavi.
    $row mysql_fetch_array($result);

    $data date("j/n/Y"$row['data']);
    echo 
    "[b]$row[titolo][/b]

    "
    ;

    // Questo è il punto in cui il testo formattato, viene visualizzato correttamente.
    echo "$row[testo],

    "
    ;


    if (
    $row['mail'] != "")
    echo 
    "$data, <a href=mailto:$row[mail]>$row[autore]</a>
    "
    ;
    else echo 
    "$data$row[autore]
    "
    ;

    //Link di fondo pagina
    echo "
    <a href=index.php>Torna alla pagina iniziale</a>
    "
    ;
    echo 
    "<a href=all.php>Visualizza tutti gli articoli</a>
    "
    ;

    mysql_close($db);
    foot();
    ?>
    Spero di esserti stato d'aiuto..
    M4RCOS

  9. #9
    Ti ringrazio, provo a studiare il codice da te fornito, quello della pagina che richiama i dati dal database e li mostra è la seguente:

    <h1>Gestisci i dati delle notizie</h1>
    <?php include 'connessionedb.php';

    $select = 'SELECT DISTINCT id, news';
    $from = ' FROM notizie';
    $where = ' WHERE 1=1';

    $aid = $_POST['aid'];
    if ($aid != '')
    { // Un autore è stato selezionato
    $where .= " AND autoreid='$aid'";
    }

    $cid = $_POST['cid'];
    if ($cid != '') { // una categoria è stata selezionata
    $from .= ', categorienotizie';
    $where .= " AND id=notizieid AND categorieid='$cid'";
    }

    $searchtext = $_POST['searchtext'];
    if ($searchtext != '') {
    // Specifica il testo da trovare
    $where .= " AND news LIKE '%$searchtext%'";}
    ?>
    <table>
    <tr>
    <th>Notizie</th><th>Opzioni</th></tr>
    <?php
    $ricerca = @mysql_query($select . $from . $where);
    if (!$ricerca) {
    echo '</table>';
    exit('

    Errore nel cercare di reperire i dati nel database!
    '.
    'Error: ' . mysql_error() . '</p>');
    }
    while ($notizie = mysql_fetch_array($ricerca)) {
    echo "<tr valign='top'>\n";
    $id = $notizie['id'];
    $news = htmlspecialchars($notizie['news']);
    echo "<td>$news</td>\n";
    echo "<td>Edita | " .
    "Cancella</td>\n";
    echo "</tr>\n";
    }
    ?>
    </table>


    Nuova ricerca</p>
    </body>
    </html>

    Mi sa tanto che in effetti è qui l'errore, mi sa che manca una stringa che interpreti correttamente i caratteri dal database. Ciao e grazie per l'aiutone.

  10. #10
    Utente di HTML.it L'avatar di M4RCOS
    Registrato dal
    Nov 2005
    Messaggi
    11

    Trovato l'errore!!!


    L'errore è nella conversione che effetui sul testo della news, una volta restituito dalla query al db...
    In poche parole, tu scrivi:
    <?php
    $ricerca = @mysql_query($select . $from . $where);
    if (!$ricerca) {
    echo '</table>';
    exit('

    Errore nel cercare di reperire i dati nel database!
    '.
    'Error: ' . mysql_error() . '</p>');
    }
    while ($notizie = mysql_fetch_array($ricerca)) {
    echo "<tr valign='top'>\n";
    $id = $notizie['id'];
    $news = htmlspecialchars($notizie['news']);
    echo "<td>$news</td>\n";
    echo "<td>Edita | " .
    "Cancella</td>\n";
    echo "</tr>\n";
    }
    ?>
    La funzione htmlspecialchars() restituisce una stringa in cui eventuali tag html vengono convertiti in semplice testo (plain text), per qst quando carichi la news non vengono riconosciuti i marcatori che danno la formattazione che ti aspettavi.. Esempio: Il carattere '<' diventa '&lt;', che visivamente è identico, ma è interpretato in maniera diversa, come testo appunto..
    Le conversioni effettuate da questa funzione si riferiscono ai caratteri:
    • '<' (minore)
    • '>' (maggiore)
    • '&' (e commerciale)
    • ' ' (apici)
    • " " (doppi apici)


    Fammi sapere se c'ho preso..

    M4RCOS
    ( Mi sa che abbiamo (mi c metto pure io) sbagliato sezione per qst discussione..Forse PHP era + indicata..) Vabbuo'..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.