Back to top

Autore Topic: [RISOLTO] magic_quotes_gpc e form input text  (Letto 3410 volte)

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
[RISOLTO] magic_quotes_gpc e form input text
« il: 16 Nov 2010, 00:50:45 »
Salve sto impazzendo su un problema al quale non trovo soluzione:

in un modulo che sto sviluppado ho un form con un campo di testo con il quale effetto una semplice query di update:

$nome = $_POST['nome'];
UPDATE....SET nome=".$db->Quote($nome)."

Con magic_quotes_gpc su On, viene inserito nel database il carattere "\" per l'escape dei caratteri speciali; ovviamente la SELECT mostra anche il carattere "\" nel testo inserito.

Come fare a risolvere il problema evitando di inserire "\" nel database senza settare magic_quotes_gpc in off?

Grazie!
« Ultima modifica: 30 Nov 2010, 20:52:15 da marco78 »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #1 il: 16 Nov 2010, 22:26:05 »
ciao,
 il problema è dovuto al fatto che, se non usi la classe JTable, prima di effettuare l' escaping del testo devi verificare il valore di get_magic_quotes_gpc()

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #2 il: 16 Nov 2010, 23:26:10 »
Grazie mille, ho comunque risolto disabilitandolo, ho letto che in php 6 non sarà più utilizzato, dunque meglio iniziare ad evitare una direttiva deprecata...

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #3 il: 17 Nov 2010, 08:20:59 »
bene, ma ricordati il [RISOLTO] nel titolo del post di apertura del topic!

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #4 il: 28 Nov 2010, 13:51:31 »
Grazie mmleoni,

ho settato magic_quotes_gpc su Off, ed ho risolto parzialmente il problema, ovvero, i caratteri speciali vengono inseriti correttamente, però rimangono i caratteri accentati che non vengono gestiti gene, come se non fossero gestiti in utf8.
Questa è la query che effettua il mio modulo:

Codice: [Seleziona]
$query = "UPDATE #__catalogo SET nome=".$db->Quote($nome).", descrizione=".$db->Quote($descrizione)." WHERE id_art=$item";
$db->setQuery($query);

Jtable è sicuramente il metodo più semplice ma preferirei se fosse possibile risolvere il problema, utilizzare il mio metodo.

Secondo la vostra esperienza, l'errore è nel codice oppure si tratta di problemi di codifica?
« Ultima modifica: 28 Nov 2010, 13:53:34 da marco78 »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #5 il: 28 Nov 2010, 16:34:27 »
prima che dal codice questo dipende dall'encoding usato per la pagina e da quello usato per il db. se questi coincidono non vi è bisogno di alcuna transcodifica a livello di codice.

joomla aggiunge autonomamente la codifica utf8 all'header http, quindi verifica la codifica a livello di DB.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #6 il: 28 Nov 2010, 20:13:24 »
Ciao mmleoni, ho già effettuato questa valutazione e sia la tabella, sia il file php, non chè il meta che genera joomla hanno codifica utf8...  :(

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #7 il: 28 Nov 2010, 22:10:07 »
header http, non il meta: la specifica del charset deve essere impostata a livello server.

non è che hai php4?
ciao.
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #8 il: 29 Nov 2010, 00:08:42 »
PHP 5.2 su IIS7

Offline marco78

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:magic_quotes_gpc e form input text
« Risposta #9 il: 30 Nov 2010, 20:51:44 »
Risolto!
Il problema era di codifica con Myisam, per l'escape dei caratteri nei form ho usato htmlspecialchars invece di htmlentities che mi creava un problema di interpretazione!

Infinite grazie mmleoni!

 



Web Design Bolzano Kreatif