Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33
  1. #11
    Esempio, se la mia variabile $desc="Mi alzo all'alba" il mio programma si blocca perchè viene inserito nel DB "Mi alzo all\'alba"
    Se io aggiungo un apice, ovvero $desc="Mi alzo all''alba" , l'esecuzione si blocca ed io mi ritrovo "Mi alzo all\'\'alba"



    Any ideas ?

  2. #12
    Questo è il risultato della query : UPDATE prodotti SET Marca='Genesis' , Prodotto='B.c.a.a. + B6 500 tabs' , Categoria='Bcaa' , Prezzo='8000' , Sconto1='5' , Sconto2='15' , Sconto3='30', Disponibilita='si', Gusto='Neutro' , Formato='520 g' , Descrizione='B.C.A.A.\'S + B6 è un supplemento ad alta potenza pensato per body builders e atleti in genere per supportare intensi allenamenti. Basato su anni di ricerca e sviluppo, B.C.C.A.\'S + B6 è una formula scientificamente bilanciata dai tre aminoacidi ramificati L-LEUCINA, L-ISOLEUCINA, L-VALINA in proporzione 2:1:1 con l\'aggiunta della vitamina B6 essenziale per un corretto assorbimento dei ramificati. Recenti studi hanno appurato che gli aminoacidi ramificati sono essenziali per la crescita e il recupero muscolare. B.C.C.A.\'S + B6 è composto solo di aminoacidi di alta qualità di grado farmaceutico; inoltre ogni compressa è solo il 6% di eccipienti ed 1 grammo di principio attivo per la massima facilità di calcolo del dosaggio.', Ingredienti='Aminoacidi ramificati L-LEUCINA, L-ISOLEUCINA, L-VALINA in proporzione 2:1:1 con l\'aggiunta della vitamina B6.', Uso='Deglutire 5 tavolette al giorno con acqua o altro liquido.' WHERE Puntatore =83 Error in odbc_exec( no cursor returned )


    Questo è il contenuto della variabile $desc : B.C.A.A.\'S + B6 è un supplemento ad alta potenza pensato per body builders e atleti in genere per supportare intensi allenamenti. Basato su anni di ricerca e sviluppo, B.C.C.A.\'S + B6 è una formula scientificamente bilanciata dai tre aminoacidi ramificati L-LEUCINA, L-ISOLEUCINA, L-VALINA in proporzione 2:1:1 con l\'aggiunta della vitamina B6 essenziale per un corretto assorbimento dei ramificati. Recenti studi hanno appurato che gli aminoacidi ramificati sono essenziali per la crescita e il recupero muscolare. B.C.C.A.\'S + B6 è composto solo di aminoacidi di alta qualità di grado farmaceutico; inoltre ogni compressa è solo il 6% di eccipienti ed 1 grammo di principio attivo per la massima facilità di calcolo del dosaggio.

    Ovviamente io quando digito il testo metto solo l'apostrofo mentre il backslash viene messo dal php.... che sia il probleme il fatto che la variabile viene passata con un form ?

  3. #13
    Allora non ti serve mettere addslashes() quindi

    sostituiscilo con str_replace("'","''",$tuastringa)
    In a world without walls and fences - who needs windows and gates ?

  4. #14
    E' vero quello che hai postato


    Scriviamo una funzione nostra

    function myaddslashes($stringa)
    {
    return str_replace("'","''",stripslashes($thestring));

    }

    1 elimina le '\'
    2 mette gli apici in piu' se servono
    In a world without walls and fences - who needs windows and gates ?

  5. #15
    Originariamente inviato da Sergio L
    Esempio, se la mia variabile $desc="Mi alzo all'alba" il mio programma si blocca perchè viene inserito nel DB "Mi alzo all\'alba"
    Se io aggiungo un apice, ovvero $desc="Mi alzo all''alba" , l'esecuzione si blocca ed io mi ritrovo "Mi alzo all\'\'alba"



    Any ideas ?
    Altroche'. Tu hai nel php.ini le magic quote abilitate. Quindi tutti i dati passati vengono parsati. (POST, GET ecc...)

    Poiche' si tratta di una misura di sicurezza per impedire sql injection penso che tu possa lasciare le cose cosi'.

    Devi eliminare i backslashes presenti.

    Passa la stringa prima con:

    Stripslashes($stringa) per eliminare il carattere di escape e poi ci aggiungi quello previsto da Access. cioe' l'apostrofo davanti ad apostrofi, \ e ".

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

  6. #16
    Originariamente inviato da Darkhorizont
    Allora non ti serve mettere addslashes() quindi

    sostituiscilo con str_replace("'","''",$tuastringa)

    Se ne frega e continua a sostituire all'apice un backslash, sei sicuro che la sintassi sia esatta di quel comando ?
    Va eseguito da solo o con $tuastringa=str_replace("'","''",$tuastringa);

    Io avrei provat in entrambi i modi , ma nulla.


    P.S. Tra l'altro, se introduco due apici manualmente nel testo lui aggiunge due backslashes quindi non credo funzionerà.

  7. #17
    Originariamente inviato da piero.mac
    Altroche'. Tu hai nel php.ini le magic quote abilitate. Quindi tutti i dati passati vengono parsati. (POST, GET ecc...)

    Poiche' si tratta di una misura di sicurezza per impedire sql injection penso che tu possa lasciare le cose cosi'.

    Devi eliminare i backslashes presenti.

    Passa la stringa prima con:

    Stripslashes($stringa) per eliminare il carattere di escape e poi ci aggiungi quello previsto da Access. cioe' l'apostrofo davanti ad apostrofi, \ e ".
    Anche questo comando non funziona, la variabile mantiene sempre l'apostrofo ed il backslash !!

  8. #18
    Ho anche provato : $desc= htmlspecialchars(Stripslashes($desc));
    ma il backslash viene mantenuto, incredibile, non so dove sbattere la testa...

  9. #19
    Ora vado, vi prego pensate qualche cosa, vedo che tra voi ci sono persone con i testicoli quadrati, stanotte mi ricollego e vediamo a che punto siamo.

  10. #20
    Originariamente inviato da Sergio L
    Ora vado, vi prego pensate qualche cosa, vedo che tra voi ci sono persone con i testicoli quadrati, stanotte mi ricollego e vediamo a che punto siamo.
    codice:
    ; Use Sybase-style magic quotes (escape ' with '' instead of \').
    magic_quotes_sybase = Off
    Puoi mettere in ON e scambi il carattere di escape e restarti Apache. Oppure con ini_set runtime da mettere in tutte le pagine che serve.
    codice:
    ini_set('magic_quotes_sybase','ON');
    Nel primo caso il cambio e perenne, nel secondo e' valido solo per le pagine in cui e' inserito. Ti dovrebbe parare tutti i casi previsti (\ ' ").

    ciao...


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