Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Campo "note" che può contenere apostrofi

    Ciao a tutti ho questo problema:
    in una pagina php ho inserito un campo note (in HTML <TEXTAREA>..</TEXTAREA>) il cui contenuto è memorizzato in una variabile $note tramite php che successivamente verrà memorizzata in un DB.
    Il problema è che se l'utente inserisce nel campo "note" una parola/lettera seguita dall' apostrofo " ' " nella variabile $note, tutta la parte di testo che segue il carattere " ' " non viene memorizzata! E quindi anche sul DB le note sono incomplete.

    A questo punto mi chiedo come posso fare per risolvere questo problema. Una cosa che NON POSSO FARE sicuramente è dire all'utente di non inserire l'apostrofo " ' " ....mi riderebbero in faccia!

    Vi ringrazio in anticipo.

    Ciauz

    Vi riporto qui di seguito le righe di codice in questione:

    <TABLE><TR><TD>Note: (max 250 crt.)</TD></TR>
    <TR><TD><TEXTAREA tabindex=19 name="note" rows="5" cols="86" wrap="virtual" ><?php echo $note; ?>
    </TEXTAREA>

    <script>
    displaylimit("document.inserisci.note",250)
    </script>
    </TD>
    </TR>
    </TABLE>

  2. #2
    usa le funzioni di escape dei caratteri.

    Se ad esempio usi mysql, usa mysql_escape_string($note)
    Hey Barney, fantastico, hai portato un barile di birra!! Già, dove posso riempirlo?
    http://www.ibolli.it

  3. #3

    stessa sintassi?

    Originariamente inviato da teazzo
    usa le funzioni di escape dei caratteri.

    Se ad esempio usi mysql, usa mysql_escape_string($note)
    con Mssql è uguale la sintassi?

  4. #4
    Mi pare che per mssql non ci sia, prova allora con addslashes(), che è generica e commenta gli apici singoli, gli apici doppi e i backslash
    Hey Barney, fantastico, hai portato un barile di birra!! Già, dove posso riempirlo?
    http://www.ibolli.it

  5. #5

    Re: stessa sintassi?

    Originariamente inviato da xalfryx
    con Mssql è uguale la sintassi?
    Mi pare che mssql non usi il backslash \ come carattere di escape, ma l'apice singola.

    Vedi i parametri da settate nel file php.ini...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    Re: Re: stessa sintassi?

    Originariamente inviato da piero.mac
    Mi pare che mssql non usi il backslash \ come carattere di escape, ma l'apice singola.

    Vedi i parametri da settate nel file php.ini...

    Perdonami ma son un pò ignorante in materia.... non so da che parte andare...mi puoi fare un esempio più dettagliato magari riferito al mio caso?

    Grazie e scusami per il disturbo!

  7. #7

    Re: Re: Re: stessa sintassi?

    Originariamente inviato da xalfryx
    Perdonami ma son un pò ignorante in materia.... non so da che parte andare...mi puoi fare un esempio più dettagliato magari riferito al mio caso?

    Grazie e scusami per il disturbo!
    php.ini
    codice:
    ; Magic quotes
    ;
    
    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = On
    
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    magic_quotes_runtime = On    
    
    ; Use Sybase-style magic quotes (escape ' with '' instead of \\').
    magic_quotes_sybase = Off
    Metti ad On le magic_quotes_sybase e restarta apache.... se sei tu il gestore ovviamente e se viene utilizzato solo mssql.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8

    Re: Re: Re: Re: stessa sintassi?

    Originariamente inviato da piero.mac
    php.ini
    codice:
    ; Magic quotes
    ;
    
    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = On
    
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    magic_quotes_runtime = On    
    
    ; Use Sybase-style magic quotes (escape ' with '' instead of \\').
    magic_quotes_sybase = Off
    Metti ad On le magic_quotes_sybase e restarta apache.... se sei tu il gestore ovviamente e se viene utilizzato solo mssql.
    OK....ma se poi faccio questa modifica non è che combino casino sulle altre pagine che si appoggiano ad mssql server che hanno la sintassi vecchia???

  9. #9
    Che e' la sintassi vecchia???

    se vuoi che vengano messe in automatico allora le magic_quote_gpc sono la via corretta, altrimenti usa la sintassi precedente.... E' chiaro che modificando il php.ini le magic_quote verranno applicate a tutti gli script.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Originariamente inviato da piero.mac
    Che e' la sintassi vecchia???

    se vuoi che vengano messe in automatico allora le magic_quote_gpc sono la via corretta, altrimenti usa la sintassi precedente.... E' chiaro che modificando il php.ini le magic_quote verranno applicate a tutti gli script.

    io non voglio che siano messe in automatico perchè non voglio incasinare gli altri script... non c'è un modo semplice per evitare che un semplice apostrofo venga interpretato come un simbolo di escape? Che ne so...magari una funzione che mi toglie l'apostrofo un istante prima di memorizzare i dati sul DB.

    Thanks!

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.