Salve, passo subito al nocciolo...

Duqnue, prendo un valore da un campo e lo metto in una variabile che poi passo al database. la variabile la inizializzo così:
$text1 = mysql_escape_string($_POST['text1']);

e quando la devo stampare la richiamo in questo modo:
$text1 = stripslashes($myrow["text1"]);


Ho visto che nel database il testo premette un backslash ad apici e doppi apici. Cosa che credo sia giusta. Mi incuriosisce però il fatto che al momento di inviare i valori al database, cioè subito dopo aver cliccato sul pulsante submit, nelle caselle del form si vedano tre backslashes. cioè, credo, uno per gli apici e l'altro forse per un backslash che credo aggiunga il server. Ho fatto un controllo ed ho visto che l'opzione magic quotes è così settata:

magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off

Cosa mi conviene fare dunque? lascio o tolgo mysql_escape_string?


Altra questione... in un campo input di tipo text, pur assegnando alla variabile il record del database filtrato con stripslashes (cioè: $titolo = stripslashes($myrow["titolo"]) quando il testo incontra un doppio apice si interrompe. L'unico modo per poterlo vedere completo è utilizzare htmlentities. Questo mi succede soltanto nel campo "text" e non per esempio nella textarea (forse perché la textarea è quella dell'editor tinymce, ma non andiamo troppo fuori argomento). E' normale che debba utilizzare htmlentities?
E DOVE è meglio utilizzarlo? Direttamente nel input ( <input type="text" name="title" id="title" value="<?php echo htmlentities($title) ?>" /> oppure quando inizializzo la variabile?