Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211

    Problema con virgolette doppie (")

    Ho cercato sul forum ma non ho trovato nulla, scusate, io provo a postare uguale.

    Il mio problema è che quando, in un campo form, inserisco una virgoletta doppia e poi vado ad inserire il tutto dentro un DB mySQL...il tutto salta in aria e non mi viene salvato tutto ciò che sta a destra della prima virgoletta.

    Esempio

    Miii che "Feshion" questo sito
    diventa
    Miii che

    Che devo fà?

    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    17
    Prima di salvare la stringa nel DB scrivi:
    $stringa = addslashes($stringa);

    La funzione non fa altro che aggiungere un backslash "\"
    Ciao!

  3. #3
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211
    Gia fatto, ma non funziona.
    Il codice è questo:
    codice:
    $servizidef = $arr . $arrn;
    $servizidef = addslashes ($servizidef);
    $update = "UPDATE DB SET INTERNI = '$servizidef' WHERE ID = " . $id;
    $updateserv = mysql_query ($update, $db) or die(mysql_error());
    Il discorso funziona con gli apici (')...o con addslashes ho risolto...ma con le virgolette doppie (") non va proprio.

    Che posso fare? Mai capitato?
    :master:
    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  4. #4
    Originariamente inviato da Atrus
    Il discorso funziona con gli apici (')...o con addslashes ho risolto...ma con le virgolette doppie (") non va proprio.

    Che posso fare? Mai capitato?
    :master:
    echo $update;

    che ti stampa?

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

  5. #5
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211
    "Feshion" viene stampato così \\\"Feshion\\\"
    e nel db viene salvato così \"Feshion\"

    e quando vado a leggere, applicando stripslashes, non appare niente.
    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  6. #6
    Originariamente inviato da Atrus
    "Feshion" viene stampato così \\\"Feshion\\\"
    e nel db viene salvato così \"Feshion\"

    e quando vado a leggere, applicando stripslashes, non appare niente.
    Questo era il dubbio. Se tu hai le magic_quote_gpc ad ON il carattere di escape viene messo automaticamente se il dato proviene come da sigla GPC (GET, POST, COOKIE)

    Quindi addslashes aggiunge un carattere di escape al backslashes ed uno alle virgolette.

    Quello che vedi nel db e' gia' passato con stripslashes da phpmyadmin. Quindi verifica se le magic_quote_gpc son in ON. Se lo sono non mettere lo addslashes alla stringa. Quando estrai dal db usa stripslashes.

    get_magic_quotes_gpc (oppure le runtime...) rende true o false.

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

  7. #7
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211
    Come si faceva a capire se magic_quote_gpc sta su ON???

    Allora ho levato addslashes prima di mandare nel db la stringa:

    Nel form ho "prova"
    Se stampo la stringa ho /"prova/"
    Nel database mi trovo "prova"
    Se visualizzo? Niente
    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  8. #8
    prova cosi':

    $servizidef = addslashes(stripslashes($servizidef));

    se ci sono li togli e li rimetti, se non ci sono non toglie e li metti.

    Si dovrebbe usare una if

    get_magic_quotes_gpc() ? $servizidef : addslashes($servizidef) ;


    Quando leggi dalla SELECT estrai la riga:

    $row = mysql_fetch_assoc($query);

    $testo = stripslashes($row['campo_testo']);



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

  9. #9
    Utente di HTML.it L'avatar di Atrus
    Registrato dal
    May 2003
    Messaggi
    211
    Nada, funziona esattamente come l'esempio precedete.
    Aspetta però...il tutto sta dentro un'array. Può dipendere da quello?
    Ora ricordo perchè ho visitato questi mondi...
    Quanto tempo ho atteso...
    Ricordo chi sono io e chi sono i miei nemici.

  10. #10
    Originariamente inviato da Atrus
    Nada, funziona esattamente come l'esempio precedete.
    Aspetta però...il tutto sta dentro un'array. Può dipendere da quello?
    che cosa e' dentro l'array? fai un print_r e vedi che c'e'.

    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.