Credo di conoscerla io la soluzione a questo problema
.
Devi trasformare gli apostrofi passati nel campo in " ' ", e poi inviarli al php.
Poi quando hai finito tutti i controlli a fine pagina se non vuoi salvare i dati come " ' " , ma come semplici apostrofi fai così:
Codice PHP:
$campo_con_apostrofo = str_replace("'", "'", $campo_con_apostrofo);
Invece per bloccare l'invio quando vedi un'apostrofo in javascript fai così:
codice:
var prendi_valore_campo = document.nome_form.nome_campo.value;/*questo è solo per far vedere più avanti la variabile da dove veniva presa*/
var apostrofo = /^[']+$/;/*così accertiamo grazie a questa variabile che non ci sia un apostrofo nel campo più avanti*/
if (apostrofo.test(nome_campo) == false){
alert('apostrofo non consentita nel campo');
return false;/*questo per bloccare lo script*/
}
Naturalmente ho fatto in modo che javascript rifiuti i valori con l'apostrofo, mentre php li trasformi alla fine della pagina.
Quello che manca è una trasformazione javascript di tutti i valori con l'apostrofo in #&39, in caso tu li voglia passare(visto che dici ti danno problemi, trasformati in quel modo non dovrebbero darteli più), ma non ricordo bene come si faccia in javascript dei caratteri, prova a cercarla su google, oppure aspetta che mi ritorni in mente
.
Fammi sapere se era la soluzione al tuo problema.