ciao a tutti! c'è un modo per inserire valori dentro un database tramite mysql_query("INSERT INTO....) dei valori presti da $_POST che possono contenere apici singoli e/o doppi senza aggiungere backslash o entità html?
grazie![]()
ciao a tutti! c'è un modo per inserire valori dentro un database tramite mysql_query("INSERT INTO....) dei valori presti da $_POST che possono contenere apici singoli e/o doppi senza aggiungere backslash o entità html?
grazie![]()
Devi fare l'escape per tutto gli apici che non fanno parte della query.
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
ma io gli apici li voglio nel database, ma non filtrati da entita o \.
che funzione o metodo devo usare?
appunto, solo con l'escape vengono inseriti
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
quindi non c'è modo di fare quello che serve a me?
stavo pensando che alcuni cms fanno quello che servirebbe a me.
Infatti se si creano delle pagine con apici doppi, apici singoli, tag html ecc... se si guarda nel database si vedrà esattamente questo, senza filtri o backslash... come si fa?
se finiscono con gli apici fai da qualche parte un doppio escape. forse magic_quotes
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
non riesco a seguirti... qual'è la riga in php che mi permette di inserire il testo:
dentro una tabella del database?codice:inserire ' e " sul database
Provo a fare un pò di ordine![]()
Se nel php.ini è abilitata la direttiva get_magic_quotes_gpg() allora gli apici singoli, doppi e lo slash verranno automaticamente preceduti da uno slash prima dell'inserimento nel db.
Ma per l'escape di questi e altri caratteri conviene usare mysql_real_escape_string()
Quindi,prima verifichiamo se è attiva la funzione get_magic_quotes_gpg(), se sì rimuoviamo i backslash inseriti dal PHP con la funzione stripslashes() e continuiamo con mysql_real_escape_string() per l' escape di tutte le stringhe da inserire nella query.
Ritornando alla tua stringa ,ipotizzando che provenga da un form, e sia:
Codice PHP:
$esempio = trim($_POST['esempio']);
if(get_magic_quotes_gpc())
{
$esempio = stripslashes($esempio );// rimuovo gli slashes
}
$esempio = mysql_real_escape_string($esempio); //escape caratteri pericolosi
$query = "INSERT INTO....";
If you think your users are idiots, only idiots will use it. DropBox
aaaa ecco! il succo stava nella funzione mysql_real_escape_string
questo era il tassello che mi mancava![]()