Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    79

    Problema visualizzazione doppi apici " "

    ciao! E' l'ennesimo post sull'argomento, me ne rendo conto, ma guardando le altre soluzioni, non sono riuscita a ricavarci nulla..non mi funziona nulla..

    Ho una query di insert che prende i dati da textarea dove l'utente scrive. possono quindi capitare l'uso di caratteri speciali.
    Ho un problema con la visualizzazione dei doppi apici (apici singoli e apostrofi funzionano) nelle textarea di output.
    Infatti a seguito dell'inserimento, voglio vedere in altre textarea tali valori inseriti, per poterli editare.
    Solo che nel caso in cui il campo contenta " " , non mi stampa nulla.


    Ho provato a utilizzare htmlentities, html_Entity_decode etc, ma invano.

    Codice di inserimento in query

    codice:
        //connessione al database mysql
        //prendo il dato dalla form
        $titolo= trim(stripslashes($_POST['titolo']));
        $titolo = mysql_real_escape_string($titolo);
      //tramite insert, inserisco titolo nel database
    Questo è il codice dove mostro i dati nelle texarea, lo faccio attraverso una funzione javascript.

    codice:
        //query select per prendere i dati (sono in una pagina differente da quella precedente)
        $titolo=mysql_result($results, $i,"CA_Titolocaso");
    
        //codice nello script javascript
        document.EDITform.EDITtitolo.value="<?php echo $titolo; ?>";
    Se come titolo inserisco CIAO A TUTTI MI CHIAMO "MARCO" , in output non ottengo poi niente.
    Il tag <meta charset="utf-8"> è presente in pagina.

    Non trovo una soluzione Non vorrei aver confuso le varie funzioni, siccome alcune sono molto simili..

    Grazie in anticipo
    Ultima modifica di JErikaM; 06-10-2014 a 10:38 Motivo: //

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Prova

    document.EDITform.EDITtitolo.value="<?php echo addslashes($titolo); ?>";

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    79
    no, purtroppo anche così non mi visualizza niente.
    per ora ho risolto con la sostituzione di due singoli apici al posto dei doppi apici...anche se è molto poco elegante. $titolocaso = str_replace('"','\'\'', $titolocaso);

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Conviene che vedi il sorgente della pagina e come ti viene fuori la funzione js ... probabilmente il titolo e/o altri campi ti invalidano la funzione

  5. #5
    Il problema è che, avendo tu aperto la stringa con le virgolette, crede che le virgolette di "MARCO" siano delimitatori di stringa, quindi devi indicare al browser che invece sono virgolette. Si fa semplicemente aggiungendo \ davanti alle virgolette:

    document.EDITform.EDITtitolo.value="<?php echo str_replace('"', '\"', $titolo); ?>";
    Ultima modifica di ZioLuffio; 06-10-2014 a 11:51

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Quote Originariamente inviata da ZioLuffio Visualizza il messaggio
    Il problema è che, avendo tu aperto la stringa con le virgolette, crede che le virgolette di "MARCO" siano delimitatori di stringa, quindi devi indicare al browser che invece sono virgolette. Si fa semplicemente aggiungendo \ davanti alle virgolette:

    document.EDITform.EDITtitolo.value="<?php echo str_replace('"', '\"', $titolo); ?>";
    e non dovrebbe farlo addslashes ?

  7. #7
    Quote Originariamente inviata da boots Visualizza il messaggio
    e non dovrebbe farlo addslashes ?
    Suppongo di sì, ma se non funziona ci sarà qualcosa che non va. str_replace fa sicuramente quello

    E poi, a quanto leggo, addslashes escapperebbe anche gli apici, e questo non serve.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    79
    Ho risolto con il replace e per ora credo mi limiterò a usare questo metodo, poi più avanti farò come consigliato da boots ^^
    Non capisco perchè le varie funzioni non mi lavorano correttamente...sarà proprio il js...

    Altra domandina...per gestire l'andare a capo invece?
    Nel mio database viene inserito il testo correttamente...ma anche qui, in output non mi mostra nulla..
    stesso metodo di input/output detto prima.
    Ho visto che c'è nl2br ma quella mi stampa anche i <br> che io non voglio vedere...
    devo passare poi attraverso la funzione che elimina i br per stampare il testo pulito?

  9. #9
    Quote Originariamente inviata da JErikaM Visualizza il messaggio
    Altra domandina...per gestire l'andare a capo invece?
    Nel mio database viene inserito il testo correttamente...ma anche qui, in output non mi mostra nulla..
    stesso metodo di input/output detto prima.
    Quale dovrebbe essere l'output? Cosa viene esattamente inserito nel database?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    79
    allora, io inserisco nella mia textarea
    PROVA
    PROVA
    PROVA

    e andando a vedere il rispettivo campo all'interno del mio database, il contenuto è proprio
    PROVA
    PROVA
    PROVA

    non ho quindi tag intermedi tipo \n , <br> etc...
    l'output quindi voglio sia fedele a quello inserito all'inizio

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.