Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    22

    problema con i caratteri su textarea

    Salve a tutti di nuovo...

    Ho un problema che cercando su internet non mi hanno sfatato alla grande...praticamente ho un textarea nel quale potrebbero essere utilizzati accenti e compagnia...caratteri come *#§ e co non penso...però se metto una ' il database mi rende questo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'autista', 'Nome dei fratelli', 'Apparecchiature usate', 'Eventuali', '3')' at line 1

    Nel textarea c'è scritto Dell'autista...ed infatti quella ' mi fa rendere quell'errore li....

    Come posso ovviaren a questo problema...diciamo grave?

  2. #2
    Quando recuperi la variabile fai l'escape dei caratteri.
    In questo modo:
    Codice PHP:
    // connessione al db aperta IMPORTANTE

    $valore_textarea mysql_real_escape_string($_POST["campo_textarea"]);
    $query "INSERT INTO tabella (campo1) VALUES('" $valore_textarea "')"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    22
    Io ho risolto così:

    Codice PHP:
            $ser_autista $_POST['ser_autista'];
            
    $ser_autista htmlentities($ser_autistaENT_QUOTES); 
    Però usando il tuo metodo, facendo l'escape...non è che quei caratteri me li salta??

  4. #4
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    Originariamente inviato da forna91
    Io ho risolto così:

    Codice PHP:
            $ser_autista $_POST['ser_autista'];
            
    $ser_autista htmlentities($ser_autistaENT_QUOTES); 
    Però usando il tuo metodo, facendo l'escape...non è che quei caratteri me li salta??
    Al contrario, è il metodo più sicuro. Inoltre non fà nessuna sostituzione dei caratteri.

  5. #5
    L'errore che ti viene restituito è legato al fatto che all'interno del campo c'è un apice singolo (').
    mysql_real_escape_string ti fa l'escape di quel carattere, ovviamente non togliendolo dal testo.
    htmlentities ti converte i caratteri nel relativo formato html, mentre tu ha solo bisogno di fare un escape.
    Entrambe le soluzioni fanno in modo che tu posso inserire l'apice senza incorrere in errori, la prima fa solo quello, la seconda fa anche quello.

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.