Tengo un problema al procesar un formulario HTML que contacta con un PHP que a su vez ingresa en MYSQL. Concretamente el problema viene cuando en uno de estos campos de formulario (exactamente el título) le pongo alguna comilla doble (") o simples (').
He estado googleando sobre cómo solucionarlo y he leído en varias ocasiones que se soluciona con el addslashes() y quitando el magic_quotes_gpc. Bien, lo he hecho. No funciona. He seguido mirando... he encontrado el mysql_real_escape_string() y tampoco me funciona. He visto un caso similar al mío que se solucionaba con el html_entities(addslashes($variable)).
A mi no me funciona...
Si alguien me pudiese ayudar... estoy bastante desesperado ya xD
Inserto fragmentos de código, a ver si ayudan en algo.
Código PHP:
<select id="edicion" name="edicion">
<option value=""> - Selecciona - </option>
<?php
$sql = "SELECT * FROM tabla";
$ejecuta = mysql_query($sql, $con);
while ($res = mysql_fetch_array($ejecuta))
{
$titol = stripslashes($res['titol']);
echo '<option value="'.$titol.'">'.$titol.'</option>';
}
?>
</select>
Código PHP:
if (isset($_POST['titol5'])) {$titol = $_POST['titol5'];} else {$titol = '';}
htmlentities(addslashes($titol));
if ($titol != '')
{
$sql = "INSERT INTO noticias (titol, texto) VALUES ('$titol', '$esp')";
$ejecuta = mysql_query($sql, $con);
}
Muchas gracias.