Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472

    [MySql]Accorgimenti da prendere per stringhe con caratteri particolari

    Per inserire le stringhe la guida pratica MySql consiglia di effettuare queste operazioni:

    $nome = addslashes(stripslashes($nome));
    $nome = str_replace("<", "&lt;", $nome);
    $nome = str_replace(">", "&gt;", $nome);

    in questo modo i problemi con / > < sono risolti...ho visto però che permangono i problemi utilizzando questi due caratteri:
    '
    \

    Qualcuno saprebbe indicarmi la lista completa degli accorgimenti da compiere per far sì che la stringa inserita dall'utente sia sempre inserita correttamente?
    E naturalmente anche le operazioni da compiere quando si recupera...

    Grazie...

  2. #2
    \ e ' sono gia' "sistemati" da addslashes(), anche se e' preferibile usare la funzione mysql_real_escape_string().

    Invece - ai fini dell'inserimento in una tabella mysql - non c'e' nessuna necessita' di modificare < e >, quello e' necessario solo quando si stampa del testo che potrebbe contenere codice HTML. In quel caso e' comunque meglio usare htmlentities().

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Sì adesso ho corretto un piccolo errore che avevo fatto: funziona sia con addslashes sia con mysql_real_escape_string() però userò questa visto che è consigliabile...

    Riguardo a < > penso di doverli cambiare necessariamente perché cmq devo poi stamparli e quindi utilizzare righe html...


    Ho visto che mettendo:
    $nome = str_replace("<", "&lt;", $nome);
    $nome = str_replace(">", "&gt;", $nome);
    in fase di registrazione e la stessa cosa quando vado a recuperare il dato funziona, mi dicevi che è meglio utilizzare htmlentities()...va utilizzato nello stesso modo di str_replace() ?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    che poi, leggendo la guida, noti che fa le stesse cose dello addslashes e dello str_replace messi assieme è un altro paio di maniche...

  6. #6
    htmlentities non fa assolutamente la stessa cosa di addslashes.

  7. #7
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    precisamente in effetti li converte, volendo, ma il risultato è lo stesso

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.