Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39

    mysql apostrofi e mysql_real_escape_string

    Salve a tutti
    C'è un problema che mi stà dando parecchio filo da torcere: l'inserimento degli apostrofi all'interno di un database mysql tramite un form in php.
    Ho dato una lettura approfondita a questa pillola e ne sono venuto parzialmente a capo, in questo modo:
    Codice PHP:
    $miavariabile ereg_replace("'""&#039 "$_POST['mioform']);
    echo 
    "<input type='hidden' name='mioform' value='" $miavariabile "' />";
    $miavariabile mysql_real_escape_string($_POST['mioform']); 
    L'input hidden c'è perchè il form è a step di 3 pagine totali (non ho trovato altre soluzioni).
    Il valore viene inserito all'interno di mysql in questo modo:
    codice:
    L\\\' APOSTROFO
    Non inserendo la prima riga di codice (ereg_replace), viene visualizzato solo l'inserimento con i backslash, troncando dall'apostrofo in poi.
    Come posso risolvere?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Usi per caso una version <5.4 di PHP e hai le magic quotes attive?

    http://www.php.net/manual/en/securit...uotes.what.php

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    Originariamente inviato da neroux
    Usi per caso una version <5.4 di PHP e hai le magic quotes attive?

    http://www.php.net/manual/en/securit...uotes.what.php
    Si, la versione di PHP è la 5.2.17 e magic_quotes_gpc è attivo.
    Essendo su un hosting condiviso però (OVH per la precisione) non credo di poter modificare questi parametri.
    Felice di essere smentito
    Grazie

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da Leoz83
    Si, la versione di PHP è la 5.2.17 e magic_quotes_gpc è attivo.
    Essendo su un hosting condiviso però (OVH per la precisione) non credo di poter modificare questi parametri.
    Felice di essere smentito
    Grazie
    http://www.php.net/manual/en/securit....disabling.php

    la parte che parla di .htaccess



    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    Ci provo subito e ti ringrazio tanto
    A questo punto però, mi confermi l'inutilità della prima riga di codice?
    Grazie ancora

    edit: Risolto! Grazie mille!

    ps: su OVH va usato
    codice:
    SetEnv MAGIC_QUOTES 0
    e non
    codice:
    php_flag magic_quotes_gpc Off

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Quella di ereg_replace? Non capisco proprio perché crei una variabile da un dato POST dove sostituisci gli apostrofi con le entità html (vabbè poi lo stampi, quindi capisco, però sarebbe meglio htmlentities()), poi la stampi solo per fare immediatamente l'escape dello stesso dato. Potresti spiegare cosa vuoi fare esattamente?

    E un'ultimo consiglio , mai ma proprio mai (a meno che hai davvero un buon motivo) stampa HTML via PHP. E' proprio la bellezza di PHP che si può integrare HTML.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    Originariamente inviato da neroux
    Quella di ereg_replace? Non capisco proprio perché crei una variabile da un dato POST dove sostituisci gli apostrofi con le entità html (vabbè poi lo stampi, quindi capisco, però sarebbe meglio htmlentities()), poi la stampi solo per fare immediatamente l'escape dello stesso dato.
    Sostituisco perchè altrimenti mi tronca anche con il magic quotes gpc disattivo (senza inserire backslash però).
    Potresti spiegare cosa vuoi fare esattamente?
    Si tratta di un form post strutturato in questo modo:
    Pagina 1: inserimento dati
    Pagina 2: riepilogo a video dati inseriti
    Pagina 3: inserimento nel database con schermata che indica se l'operazione è andata a buon fine
    E un'ultimo consiglio , mai ma proprio mai (a meno che hai davvero un buon motivo) stampa HTML via PHP. E' proprio la bellezza di PHP che si può integrare HTML.
    Errori di gioventù
    Lo terrò in considerazione

    Grazie

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