- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema Virgolette
-
Problema Virgolette
Ciao a tutti. Ho un problema con un form.
Per esempio è un form per la modifica di una news.
Il titolo della news è il seguente:Luca dice "ok"
Quando estraggo dal database questo titolo per metterlo nella textbox per un eventuale modifica, sulla text trovo semplicemente:
Luca dice
Come faccio a risolvere il problema? Questa la parte di codice della query:
[PHP]$query='SELECT * FROM news WHERE idNews='.$_GET['id'];
$ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/PHP]
-
@talkoman said:
Ciao a tutti. Ho un problema con un form.
Per esempio è un form per la modifica di una news.
Il titolo della news è il seguente:Quando estraggo dal database questo titolo per metterlo nella textbox per un eventuale modifica, sulla text trovo semplicemente:
Come faccio a risolvere il problema? Questa la parte di codice della query:
[php]$query='SELECT * FROM news WHERE idNews='.$_GET['id'];
$ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/php]
Prova cosi'[php]$query="SELECT * FROM news WHERE idNews='".$_GET['id']."'";
$ris=@mysql_query($query) or die ("Errore durante l'esportazione dei dati dal database");[/php][/quote]
-
Ciao,
quando inserisci il dato nel value dell'input devi usare htmlentities():
[php]
<input type="text" name="titolo" value="<?php echo htmlentities($titolo_news,ENT_QUOTES); ?>" />
[/php]Alessandro
-
´Questo é molto pericoloso da fare in un database, corri il rischio di esporti ad attacchi di tipo sql injection (cerca su google una spiegazione).
Tutti i parametri che vanno passati ad una query sql vanno ripuliti da caratteri non idonei:se sai che il parametri id deve essere obbligatoriamente un intero puoi effettuare un cast esplicito sulla variabile:
idNews='.(int)$_GET['id'];
se invece puó essere una stringa e come db usi mysql puoi usare questa funzione:
".... idNews='" .mysql_real_escape_string($_GET['id'])."';";
Spero di essere stato chiaro.
Ciao
Giuseppe