Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    314

    [mysql] inserire virgolette

    Scusate se mi ripropongo,
    ma ho sempre il problema di inserire le virgolette in un db myql.
    Ho una form con un campo (testo) nel quale inserisco del testo.


    Codice PHP:
    //se il testo viene copiato e incollato da word nella form 
    $testoereg_replace(""""\""$testo); 
    mi inserisce in modo corretto le virolette nel db

    il problema sorge se il testo viene digitato direttamente nella form.
    Se metto le doppie virgolette nella form le stesse vengono interpretate e pertanto non viene salvato nel db.

    Come potrei fare?

    Scusatemi ma devo necessariamente risolvere questo problema.

    Grazie
    felix

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    14

    Re: [mysql] inserire virgolette

    Codice PHP:
    scusama nel form inserisci le virgolette o "?
    perchè il replace lo fai su &quote non su 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    314
    nella form inserisco le virgolette (") e vorrei che nel dbvenissero inserite le vorgolette e non (&quot.
    se il testo lo copio e poi lo incollo da word va bene.
    Se digito direttamente nella form una parrola racchiu tra virgolette ("mare") non me la salva
    felix

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    14

    Re: Re: [mysql] inserire virgolette

    Codice PHP:
    sima quando lo fai da word ti scrive &quotgiusto?
    in praticatu fai il replace su &quotma non su 

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    314
    quando lo inserisco da word mi scrive la parola tra virgolette in modo corretto.
    Quando lo digito direttamente nella form non mi scrive niente di quello che è tra virgolette
    felix

  6. #6

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    314
    Ho già letto ma purtroppo non sono riuscito a capire come applicarlo.
    Se ti è posibile guidarmi passo pasoforse riesco a risolvere.
    Per quanto riguarda i caratteri ('<>òàìèùé ecc..) sono riuscito a risolvere mi resta il problemadelle virgolette.
    felix

  8. #8
    Originariamente inviato da felice211
    Ho già letto ma purtroppo non sono riuscito a capire come applicarlo.
    Se ti è posibile guidarmi passo pasoforse riesco a risolvere.
    Per quanto riguarda i caratteri ('<>òàìèùé ecc..) sono riuscito a risolvere mi resta il problema delle virgolette.
    basta leggere passo passo la guida. Non potrei fare di meglio di quanto scritto da Luca200. Hai pure un esempio, basta mettere i nomi reali delle tue variabili.

    Codice PHP:
    function strip_magic ($value)
    {
        
    $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
        return 
    $value;
    }

    $campo strip_magic($_POST['campo']); //ATTENZIONE: i campi di input vanno validati attentamente!!
    $campoPerDb mysql_real_escape_string($campo,$conn); 

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    314
    Ho creato un file chiamato funzione.php che viene incluso nel file che dalva i dati nel db
    Il campo si chiama (testo)
    Codice PHP:
    function strip_magic ($value)
    {
        
    $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
        return 
    $value;
    }

    $testo strip_magic($_POST['testo']); //ATTENZIONE: i campi di input vanno validati attentamente!!
    $testoDb mysql_real_escape_string($testo,$conn); 
    Questo invece è il file che salva i dati nel db
    Codice PHP:
    include "funzione.php";
    $testo stripslashes($testo);
    $testo nl2br($testo);
    $testo htmlspecialchars($testo,ENT_QUOTES);
    $testo ereg_replace("&lt;br /&gt;","
    "
    ,$testo);
    $testo ereg_replace("&lt;br&gt;","
    "
    ,$testo);
    $testo ereg_replace("&lt;b&gt;","[b]",$testo);
    $testo ereg_replace("&lt;/b&gt;","[/b]",$testo);
    $testo ereg_replace("&lt;","<",$testo);
    $testo ereg_replace("&gt;",">",$testo);
    $testo ereg_replace("'","’",$testo); 
    Ma quando inseriscouna stringa racchiusa tra virgolette non me la salva
    felix

  10. #10
    se la stringa ripulita e' pronta da inserire nel db tu la sottoponi allo stripslashes() non fai altro che "togliere" quello che la funzione mysql_real_escape_string() aveva messo.

    Tra l'altro la variabile dopo la preparazione per il db si chiamerebbe $testoDb e non $testo.

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

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.