Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    inserire apici non filtrati

    ciao a tutti! c'è un modo per inserire valori dentro un database tramite mysql_query("INSERT INTO....) dei valori presti da $_POST che possono contenere apici singoli e/o doppi senza aggiungere backslash o entità html?
    grazie

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Devi fare l'escape per tutto gli apici che non fanno parte della query.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ma io gli apici li voglio nel database, ma non filtrati da entita o \.
    che funzione o metodo devo usare?

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    appunto, solo con l'escape vengono inseriti

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    quindi non c'è modo di fare quello che serve a me?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    stavo pensando che alcuni cms fanno quello che servirebbe a me.
    Infatti se si creano delle pagine con apici doppi, apici singoli, tag html ecc... se si guarda nel database si vedrà esattamente questo, senza filtri o backslash... come si fa?

  7. #7
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    se finiscono con gli apici fai da qualche parte un doppio escape. forse magic_quotes

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    non riesco a seguirti... qual'è la riga in php che mi permette di inserire il testo:
    codice:
    inserire ' e " sul database
    dentro una tabella del database?

  9. #9
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Provo a fare un pò di ordine

    Se nel php.ini è abilitata la direttiva get_magic_quotes_gpg() allora gli apici singoli, doppi e lo slash verranno automaticamente preceduti da uno slash prima dell'inserimento nel db.
    Ma per l'escape di questi e altri caratteri conviene usare mysql_real_escape_string()

    Quindi,prima verifichiamo se è attiva la funzione get_magic_quotes_gpg(), se sì rimuoviamo i backslash inseriti dal PHP con la funzione stripslashes() e continuiamo con mysql_real_escape_string() per l' escape di tutte le stringhe da inserire nella query.

    Ritornando alla tua stringa ,ipotizzando che provenga da un form, e sia:
    Codice PHP:
    $esempio trim($_POST['esempio']);
        if(
    get_magic_quotes_gpc())
        {
            
    $esempio       stripslashes($esempio );// rimuovo gli slashes
        
    }
    $esempio      mysql_real_escape_string($esempio); //escape caratteri pericolosi

    $query "INSERT INTO...."
    If you think your users are idiots, only idiots will use it. DropBox

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    aaaa ecco! il succo stava nella funzione mysql_real_escape_string
    questo era il tassello che mi mancava

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.