io non sono bravo però quando iniziai a leggere le varie guide sul web dopo massimo 2-3 lezioni su mysql sta cosa la dicono (fra l'altro è fondamentale per le sql injection):Originariamente inviato da prinzart
No è solo perchè se l'utente mi inserisce "un testo virgolettato" l'inserimento nel db avviene regolarmente però in fase di stampa a video il campo testo rimane vuoto, come se nel db non ci fosse il record.
credo che le virgolette vanno in conflitto con qualcosa.
Comunque già che c'ero ho pensato di levare anche altri caratteri che non mi interessavano.
Alle stringhe in ingresso si applica:
in uscita si applica striplashes()...Codice PHP:
<?php
function EscapeString($string)
{
if(get_magic_quotes_gpc())
{
$string = stripslashes($string);
return mysql_real_escape_string($string);
}
else
{
return mysql_real_escape_string($string);
}
}
?>
Fonti (quelle che preferisco e sulle quali ho e sto studiando...):
- http://www.mtxweb.ch/php_learn/?p=864 (il mitico mtxmaurizio)
- http://www.phpnews.it/corsi/inserimento-dati/
--------------
Le lettere accentate è un problema distinto e può dipendere:
- se dipende dalla pagina puoi: cambiare charset (metti <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />) o applicare htlmentities() all'uscita dei dati.
- se dipende dallo charset del database impostalo come uft-8 oppure latin_1_swedish... o na cosa più o meno così... ora nn ricordo esattamente