Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2013, 19:32
Avatar de alberthp
alberthp
 
Fecha de Ingreso: abril-2013
Mensajes: 12
Antigüedad: 11 años
Puntos: 0
Problema con comillas dobles, simples en PHP + MYSQL

Buenas!

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.