Foros del Web » Programando para Internet » PHP »

addslashes, mysql_real_escape_string o similare

Estas en el tema de addslashes, mysql_real_escape_string o similare en el foro de PHP en Foros del Web. Buenas! Os explico, tengo un formulario que funcionaba correctamente. Cogia los datos y los grababa en la base de datos. Testeándolo he descubierto que hay ...
  #1 (permalink)  
Antiguo 13/03/2012, 03:06
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
addslashes, mysql_real_escape_string o similare

Buenas!

Os explico, tengo un formulario que funcionaba correctamente. Cogia los datos y los grababa en la base de datos. Testeándolo he descubierto que hay una serie de símbolos (comillas simples) que cuando doy a guardar en la base de datos me da error. Yo pensaba que era un error de javasccipt pero después de preguntar en ese foro maycolalvarez me ha dicho "lo que necesitas en PHP es escapar los caracteres especiales, utilizando para ello addslashes, mysql_real_escape_string o similares". Lo he estado intentando y no hay manera...alguien me puede ayudar?

El código en cuestión:

Código HTML:
<form action="ofertas.php" method="post" enctype="multipart/form-data" id="form_oferta_add">
    <input type="hidden" name="option" value="add" class="hidden" />

    <div class="imagen_oferta">
        <img src="<?php echo ADMIN_IMAGEN_DIR;?>/no-foto.gif" alt="" width="86" height="80" />
        <a href="#fichero" id="add_img_link" class="boton">a&ntilde;adir imagen</a>
    </div>

    <div style="display:none;">
        <div id="fichero">
            <p><input type="file" name="imagen" /></p>
            <p><a href="#" id="aceptar_imagen" class="boton">aceptar</a></p>
        </div>
    </div>

        <div class="campos_form">

            <div class="fila_form botones_idiomas">
                <span class="selected_idioma">ES</span>
                <span>CA</span>
                <span>EN</span>
                <span>FR</span>
            </div>
            <div id="pesta_idiomas">
                <?php foreach($aIdiomas as $idioma){?>
                <div class="form_idiomas" id="campos_<?php echo $idioma['sub']?>">
                    <div class="fila_form">
                        <label for="titulo_<?php echo $idioma['sub']?>">T&iacute;tulo (<?php echo $idioma['sub']?>)</label>
                        <input type="text" name="titulo_<?php echo $idioma['sub']?>" id="titulo_<?php echo $idioma['sub']?>" value="" />
                    </div>
                    <div class="fila_form">
                        Descripci&oacute;n (<?php echo $idioma['sub']?>)
                    </div>
                    <div class="fila_form">
                        <label for="descripcion1_<?php echo $idioma['sub']?>">L&iacute;nea 1</label>
                        <input name="descripcion1_<?php echo $idioma['sub']?>"id="descripcion1_<?php echo $idioma['sub']?>" value="" />
                    </div>
                    <div class="fila_form">
                        <label for="descripcion2_<?php echo $idioma['sub']?>">L&iacute;nea 2</label>
                        <input name="descripcion2_<?php echo $idioma['sub']?>"id="descripcion2_<?php echo $idioma['sub']?>" value="" />
                    </div>
                </div>
                <?php }?>
            </div>

            <div class="fila_form">
                <label for="precio">Precio</label>
                <div><input type="text" value="" name="precio" id="precio" class="precio" /> &euro;</div>
            </div>

            <div class="fila_form">
                <label for="link_oferta">Link oferta</label>
                <div><input type="text" value="" name="link_oferta" id="link_oferta" /></div>
            </div>

            <div class="fila_submit">
                <a href="ofertas.php?option=list">cancelar</a>
                <a href="#" onclick="document.getElementById('form_oferta_add').submit();">guardar</a>
            </div>
        </div>


</form> 
Muchas gracias
  #2 (permalink)  
Antiguo 13/03/2012, 04:31
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: addslashes, mysql_real_escape_string o similare

El filtrado que te han comentado se hace por PHP al procesar el formulario, en el código que posteas no tienes que hacer nada, sólo en PHP.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 13/03/2012, 04:54
 
Fecha de Ingreso: agosto-2011
Mensajes: 110
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: addslashes, mysql_real_escape_string o similare

Hola ,

1 º el escapado de caracteres se hace en el script de destino del formulario. (ofertas.php en tu caso)

2º debees comprobar que las magic quotes esten activadas o no para hacer el "escapado" de caracteres y evitar que se escapen dos veces

¿ como se hace esto ? pues bien , puede o bien desactivar las magic quotes en el php.ini si tienes acceso a él o intentarlo con un fichero .htaccess . con el contenido
Cita:
# Desactivar magic quotes
php_value magic_quotes_gpc off
El uso del .htaccess puede no ser efectivo 100% por diferentes motivos (tu proveedor de hosting no te permite usarlos ó bien porque php da prioridad al escapado de caracteres que a la directia .htaccess) debes comprobar en cada momento si estan activas para no escapar dos veces. Yo prefiero escapar los caracteres como mysql_realscape_string() porque es mas efectiva que addslashes() asi que te dejo un script que deshace el scape automático de las magic quotes y lo rehace con dicha función.

Cita:
Código PHP:
Ver original
  1. if (get_magic_quites_gpc()){
  2.  $_POST['nombre_campo'] = stripslashes($_POST['nombre_campo'])
  3. }
  4.  $nombre_campo_escapado = mysql_real_scape_string($_POST['nombre_campo');
Te recomiendo el uso de mysql_real_scape_string() frente a addslashes() porque es una funcion especifica de mysql mas completa en el conjunto de caracteres que escapa ya que a addslashes () se le pueden colar algunos.

Algo que debes tener en cuenta de este codigo es que reduce el rendimiento de la aplicación ya que las funciones addslashes y stripslashes son funciones que no hacen un uso demasiado eficiente de la memoria en pos de la efectividad. Dejo a tu eleccion decidir el metodo que mas te guste.

Si el proyecto es de aprendizaje no debe preocuparte demasiado cual usar. Pero si es un proyecto para su publicación es imprescindible asegurar ese formulario , no solo debes escapar caracteres sql.

Un consejo rápido es que si vas a recorrer los campos del formulario usando un bucle foreach, tengas una lista de los campos reales que quieres recorrer y si el atributo name no se encuentra en esa lista, no proceses el campo

no se si me he explicado bien pero bueno, espero que por lo menos lo de la funcion de escape te haya servido.

un saludo.
  #4 (permalink)  
Antiguo 13/03/2012, 05:42
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: addslashes, mysql_real_escape_string o similare

Buenas Bray, gracias por la ayuda.
He colocado la función que me explicas en ofertas.php
Me da un error cuando intento entrar: Parse error: syntax error, unexpected '}'
No entiendo porqué está mal el corchete y aparte es quotes en vez de quites, no?

Yo lo he puesto así:

if (get_magic_quotes_gpc()){
$_POST['form_oferta_add'] = stripslashes($_POST['form_oferta_add'])
}
$nombre_campo_escapado = mysql_real_scape_string($_POST['form_oferta_add');

No funciona...ves lo que está mal? Lo he implementado bien?

Muchas gracias por adelantado
  #5 (permalink)  
Antiguo 13/03/2012, 06:09
 
Fecha de Ingreso: agosto-2011
Mensajes: 110
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: addslashes, mysql_real_escape_string o similare

si , fallo mio es get_magic_quotes_gpc().

El error que te indica es que hay una llave que de cierre que no va ahi , eso puede ser o bien porque esta de mas o bien porque hay algun parentesis, corchete o algun otro elemento que no esta bien cerrado. en este caso es en mysql_real_scape_string que no esta cerrado el corchete de $_POST['form_oferta_add']
  #6 (permalink)  
Antiguo 13/03/2012, 06:12
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: addslashes, mysql_real_escape_string o similare

le falta (;)
por otro lado no sería mas conveniente asignarselo a una variable??
Cita:
$var = stripslashes($_POST['form_oferta_add']);
aquí tiene otro error
Cita:
mysql_real_escape_string
también te puede interesar leer las notas sobre mysql_real_escape_string
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 13/03/2012, 06:20
 
Fecha de Ingreso: agosto-2011
Mensajes: 110
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: addslashes, mysql_real_escape_string o similare

Cita:
Iniciado por IsaBelM Ver Mensaje
le falta (;)
por otro lado no sería mas conveniente asignarselo a una variable??

aquí tiene otro error

también te puede interesar leer las notas sobre mysql_real_escape_string
si, yo también creo que seria mejor asignarlo a una variable pero me parecía mas sencillo de entender así distinguiendo entre la cadena "escapada" y la que venia del formulario.

y el nombre de la función... no tengo perdón lo he puesto mal 3 o 4 veces y de todas las formas posibles XD
  #8 (permalink)  
Antiguo 14/03/2012, 02:05
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: addslashes, mysql_real_escape_string o similare

Buenas bray e IsaBelM, ahora me da este error.

Parse error: syntax error, unexpected T_VARIABLE

Y el código puesto es este:
Código PHP:
if (get_magic_quotes_gpc()){
$_POST['form_oferta_add'] = stripslashes($_POST['form_oferta_add']);
}
$nombre_campo_escapado mysql_real_escape_string($_POST['form_oferta_add']); 
Si no he visto mal es por un ";" pero yo no consigo ver el error...

MUchísimas gracias
  #9 (permalink)  
Antiguo 14/03/2012, 04:01
 
Fecha de Ingreso: agosto-2011
Mensajes: 110
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: addslashes, mysql_real_escape_string o similare

Hola, probando ese código a mi no me da ningún error, debe estar en otra linea
  #10 (permalink)  
Antiguo 14/03/2012, 10:28
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: addslashes, mysql_real_escape_string o similare

Tienes razón Bray, fallo mio...el código no da error, pero sigue sin funcionarme...

Te pongo todo eñ código que hay en la página en dos mensajes, a ver si veis que hago mal, porqué a mi se me escapa! El código nuevo está prácticamente al final!

Muchas gracias

Código PHP:
Ver original
  1. <?php
  2. ini_set('display_errors', 1);
  3. //set_time_limit(120);
  4. ini_set('memory_limit','512M');
  5.  
  6. //*********Incluir esta linea en todos los scripts**************
  7. include($_SERVER['DOCUMENT_ROOT'].'/inicio/inicio.php');
  8. //**************************************************************
  9. /**
  10.  * +-----------------------------------------------------------------------+
  11.  * | Control de acceso a la pagina                                         |
  12.  * +-----------------------------------------------------------------------+
  13.  */
  14. define ('ACCESO',PRIVADO);
  15. include($_SERVER['DOCUMENT_ROOT'].'/inicio/islogin.php');
  16. /**
  17.  * +-----------------------------------------------------------------------+
  18.  * | Include de clase y funciones                                          |
  19.  * +-----------------------------------------------------------------------+
  20.  */
  21. include($_SERVER['DOCUMENT_ROOT'].'/clases/c_ofertas.php');
  22. include($_SERVER['DOCUMENT_ROOT'].'/clases/validation_class.php');
  23. include($_SERVER['DOCUMENT_ROOT'].'/clases/class.upload.php');
  24. include($_SERVER['DOCUMENT_ROOT'].'/clases/c_paginacion.php');
  25. /**
  26.  * +-----------------------------------------------------------------------+
  27.  * | Incialización de variables y constantes                               |
  28.  * +-----------------------------------------------------------------------+
  29.  */
  30. define('BODY',TEMPLATES_ADMIN.'t_contenedor.php');
  31. define('T_BODY',TEMPLATES_ADMIN.'t_ofertas.php');
  32. define('T_LISTADO',TEMPLATES_ADMIN.'t_ofertas_list.php');
  33. define('T_EDIT',TEMPLATES_ADMIN.'t_ofertas_edit.php');
  34. define('T_ADD',TEMPLATES_ADMIN.'t_ofertas_add.php');
  35. /**
  36.  * +-----------------------------------------------------------------------+
  37.  * | Declaración de funciones                                              |
  38.  * +-----------------------------------------------------------------------+
  39.  */
  40.  
  41. /**
  42.  * +-----------------------------------------------------------------------+
  43.  * | Inicio del programa                                                   |
  44.  * +-----------------------------------------------------------------------+
  45.  */
  46. $tabla = 'ofertas';
  47. $bAdd = false;
  48. $aOpciones = array(
  49.     'add' => '',
  50.     'delete' => '',
  51.     'edit' => '',
  52.     'add_home' => '',
  53.     'del_home' => '',
  54.     );
  55. /**
  56.  * +-----------------------------------------------------------------------+
  57.  * | Salida por pantalla                                                   |
  58.  * +-----------------------------------------------------------------------+
  59.  */
  60.  
  61. $opcion_menu = 'ofertas';
  62. $body = T_BODY;
  63.  
  64. if(ID_USUARI!='1')
  65. {
  66.  
  67.         if (isset($_GET['option']))
  68.             $option = getValue($_GET['option']);
  69.         if (isset($_POST['option']))
  70.             $option = getValue($_POST['option']);
  71.         if (!isset($option))
  72.             $option = 'list';
  73.  
  74.     $ofertas = new ofertas($tabla);
  75.  
  76.     switch ($option)
  77.     {
  78.         case 'delete':
  79.  
  80.                         $aOpciones['delete'] = ' class="selected"';
  81.                         $ofertas -> del(getValue($_GET['o']));
  82.  
  83.                         mysql_close($dao -> Link_ID);
  84.                         header('location: ofertas.php?option=list?add_oferta=true');
  85.                         die;
  86.                         break;
  87.  
  88.         case 'edit':
  89.  
  90.                         $aOpciones['edit'] = ' class="selected"';
  91.                    
  92.             $subBody = T_EDIT;
  93.  
  94.             if(!empty($_POST))
  95.             {
  96.                                 $id = getValue($_POST['id']);
  97.  
  98.                 $old = $ofertas->get($id);
  99.  
  100.                 $oValidador = new Validate_fields();
  101.                 $oValidador -> language = 1;//CASTELLANO
  102.                 $oValidador -> check_4html = true;
  103.  
  104.  
  105.                 foreach ($aIdiomas as $idioma)
  106.                 {
  107.                                         $titulos[$idioma['sub']] = trim(getValue($_POST['titulo_'.$idioma['sub']]));
  108.                     $oValidador -> add_text_field('Título en '.$idioma['nombre'], $titulos[$idioma['sub']], 'text', $idioma['obligatorio']);
  109.                                         $descripciones1[$idioma['sub']] = trim(getValue($_POST['descripcion1_'.$idioma['sub']]));
  110.                     $oValidador -> add_text_field('Descripción (Línea 1) en '.$idioma['nombre'], $descripciones1[$idioma['sub']], 'text', $idioma['obligatorio']);
  111.                                         $descripciones2[$idioma['sub']] = trim(getValue($_POST['descripcion2_'.$idioma['sub']]));
  112.                     $oValidador -> add_text_field('Descripción (Línea 2) en '.$idioma['nombre'], $descripciones2[$idioma['sub']], 'text', $idioma['obligatorio']);
  113.                 };
  114.  
  115.                                 $precio = getValue($_POST['precio']);
  116.                                 $oValidador ->add_num_field("Precio ", $precio,'y');
  117.                                 $link = getValue($_POST['link_oferta']);
  118.                                 $oValidador ->add_text_field("Link ", $link,'y');
  119.  
  120.  
  121.                 $handle = new Upload($_FILES['imagen']);
  122.  
  123.                 if($handle->uploaded)
  124.                 {
  125.                                     $handle -> image_ratio_fill = true;
  126.                                     $handle -> image_background_color = '#cccccc';
  127.                                     $handle -> image_resize     = true;
  128.                     $handle -> image_x          = 84;
  129.                     $handle -> image_y          = 79;
  130.  
  131.                     $handle -> image_convert    = 'jpg';
  132.                                     $handle -> jpeg_quality     = 85;
  133.  
  134.                                     $handle -> Process(IMAGENES);
  135.                                     $new_name = $handle->file_src_name_body;
  136.  
  137.  
  138.                                     if($handle->processed)
  139.                                     {
  140.                                             $imagen = $handle ->file_dst_name;
  141.                                             $handle -> clean();
  142.                                             $bProcesada = true;
  143.                                     }
  144.                                     else
  145.                                     {
  146.                                             $oValidador -> setError('Imatge',2,$handle->error);
  147.                                     }
  148.  
  149.                 }
  150.                 else
  #11 (permalink)  
Antiguo 14/03/2012, 10:29
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: addslashes, mysql_real_escape_string o similare

Código PHP:
Ver original
  1. {
  2.                     $imagen = $old['id_imagen'];
  3.                 }
  4.  
  5.  
  6.  
  7.                 if ($oValidador -> validation())
  8.                 {
  9.                                         $id = $ofertas -> edit($id,$titulos,$descripciones1,$descripciones2,$precio,$link,$imagen);
  10.  
  11.  
  12.                     if($old['id_imagen']!= $imagen){
  13.                                             echo "eliminar imagen";
  14.                         @unlink(IMAGENES.$old['id_imagen']);
  15.                     }
  16.  
  17.                     unset($_POST);
  18.                     unset($titulos);
  19.                     unset($descripciones1);
  20.                     unset($descripciones2);
  21.                                         unset($precio);
  22.                     unset($link);
  23.                     unset($imagen);
  24.  
  25.                     mysql_close($dao -> Link_ID);
  26.                     header('location: ofertas.php?option=list');
  27.                     die;
  28.  
  29.                 }
  30.                 else
  31.                 {
  32.                     if(isset($bProcesada)) @unlink(IMAGENES.$imagen);
  33.  
  34.                     $aMensaje = $oValidador -> messages;
  35.                 }
  36.             }
  37.             else
  38.             {
  39.  
  40.                 $oferta     = $ofertas->get(getValue($_GET['o']));
  41.                                 //echo "<pre>";print_r($oferta);echo "</pre>";
  42.                 $imagen     = $ofertas->get_imagen($oferta['id_imagen']);
  43.  
  44.                                 $lang = array();
  45.                                 foreach($aIdiomas as $idioma){
  46.                                     $lang[$idioma['sub']] = $ofertas->get_lang($oferta['id'],$idioma['id']);
  47.                                 }
  48.                                 //echo "<pre>";var_dump($lang);echo "</pre>";
  49.  
  50.             }
  51.  
  52.  
  53.  
  54.             break;
  55.         case 'add':
  56.                         $aOpciones['add'] = ' class="selected"';
  57.                         $subBody = T_ADD;
  58.                         $foto_oferta = false;
  59.  
  60.  
  61.             if(!empty($_POST))
  62.             {
  63.                                 //echo "<pre>";print_r($_POST);echo "</pre>";
  64.  
  65.                 $oValidador = new Validate_fields();
  66.                 $oValidador -> language = 1;//CASTELLANO
  67.                 $oValidador -> check_4html = true;
  68.  
  69.  
  70.                 foreach ($aIdiomas as $idioma)
  71.                 {
  72.                                         $titulos[$idioma['sub']] = trim(getValue($_POST['titulo_'.$idioma['sub']]));
  73.                     $oValidador -> add_text_field('Título en '.$idioma['nombre'], $titulos[$idioma['sub']], 'text', $idioma['obligatorio']);
  74.                                         $descripciones1[$idioma['sub']] = trim(getValue($_POST['descripcion1_'.$idioma['sub']]));
  75.                     $oValidador -> add_text_field('Descripción (Línea 1) en '.$idioma['nombre'], $descripciones1[$idioma['sub']], 'text', $idioma['obligatorio']);
  76.                                         $descripciones2[$idioma['sub']] = trim(getValue($_POST['descripcion2_'.$idioma['sub']]));
  77.                     $oValidador -> add_text_field('Descripción (Línea 2) en '.$idioma['nombre'], $descripciones2[$idioma['sub']], 'text', $idioma['obligatorio']);
  78.                 };
  79.  
  80.                                 $precio = getValue($_POST['precio']);
  81.                                 $oValidador ->add_num_field("Precio ", $precio,'y');
  82.                                 $link = getValue($_POST['link_oferta']);
  83.                                 $oValidador ->add_text_field("Link ", $link,'y');
  84.                                
  85.  
  86.                 $handle = new Upload($_FILES['imagen']);
  87.  
  88.                 if($handle->uploaded)
  89.                 {
  90.  
  91.                                     $handle -> image_ratio_fill = true;
  92.                                     $handle -> image_background_color = '#ffffff';
  93.                                     $handle -> image_resize     = true;
  94.                     $handle -> image_x          = 84;
  95.                     $handle -> image_y          = 79;
  96.  
  97.                     $handle -> image_convert    = 'jpg';
  98.                                     $handle -> jpeg_quality     = 85;
  99.  
  100.                                     $handle -> process(IMAGENES);
  101.                                     $new_name = $handle->file_src_name_body;
  102.  
  103.                                     if($handle->processed)
  104.                                     {
  105.                                             $imagen = $handle ->file_dst_name;
  106.                                             $handle -> clean();
  107.                                     }
  108.                                     else
  109.                                     {
  110.                                             $oValidador -> setError('Imagen',2,$handle->error);
  111.                                     }
  112.  
  113.                 }
  114.                 else
  115.                 {
  116.                     $imagen = null;
  117.                                 }
  118.  
  119.                 if ($oValidador -> validation())
  120.                 {
  121.                                         $id = $ofertas -> add($titulos,$descripciones1,$descripciones2,$precio,$link,$imagen);
  122.  
  123.                     unset($_POST);
  124.                     unset($titulos);
  125.                     unset($descripciones1);
  126.                     unset($descripciones2);
  127.                                         unset($precio);
  128.                     unset($link);
  129.                     unset($imagen);
  130.  
  131.                     $bAdd = true;
  132.                                         $aMensaje[0] = utf8_encode("Oferta añadida");
  133.  
  134.                 }
  135.                 else
  136.                 {
  137.                     $aMensaje = $oValidador -> messages;
  138.                 }
  139.  
  140.             }else{
  141.                             $foto_oferta = false;
  142.                         }
  143.             break;
  144.  
  145.         case 'add_home':
  146.                        
  147.                         $aOpciones['add_home'] = ' class="selected"';
  148.                         $subBody = T_LISTADO;
  149.                         $mensaje = "";
  150.  
  151.                         $id = getValue($_GET['o']);
  152.                         if(!$ofertas->add_home($id))
  153.                             $mensaje = "&add_oferta=false";
  154.  
  155.                         mysql_close($dao -> Link_ID);
  156.                         header('location: ofertas.php?option=list'.$mensaje);
  157.                         die;
  158.                         break;
  159.  
  160.         case 'del_home':
  161.  
  162.                         $aOpciones['del_home'] = ' class="selected"';
  163.                         $subBody = T_LISTADO;
  164.                         $mensaje = "";
  165.  
  166.                         $id = getValue($_GET['o']);
  167.                         $ofertas->del_home($id);
  168.  
  169.                         mysql_close($dao -> Link_ID);
  170.                         header('location: ofertas.php?option=list'.$mensaje);
  171.                         die;
  172.                         break;
  173.  
  174.         case 'list':
  175.                 default :
  176.  
  177.                         $subBody = T_LISTADO;
  178.  
  179.                         if(isset($_GET['add_oferta']))
  180.                             $add_oferta = getValue($_GET['add_oferta']);
  181.                         else
  182.                             $add_oferta = true;
  183.  
  184.                         if(!intval($add_oferta))
  185.                             $mensaje = 'Debe eliminar una oferta antes de añadir otra a la home.';
  186.                         else
  187.                             $mensaje = '';
  188.  
  189.             isset($_GET['num_pag']) ? $num_pag = $_GET['num_pag'] : $num_pag = 1;
  190.             $elementos_por_pagina   = 3;
  191.             $limite                 = ($elementos_por_pagina*$num_pag)-$elementos_por_pagina;
  192.             $total_elementos        = $ofertas->get_numero_ofertas();
  193.             $aLista                 = $ofertas->_get_lista($limite,$elementos_por_pagina);
  194.             $num_elements           = count($aLista);
  195.  
  196.                         $oPaginar = new paginar();
  197.                         $sNavega_paginas = $oPaginar -> paginacion('ofertas.php?&option=list&num_pag=%d','ofertas.php?&option=list',$total_elementos,$elementos_por_pagina,$num_pag);
  198.  
  199.                         break;
  200.     }
  201.  
  202. }
  203. else
  204. {
  205.     $body = TEMPLATES_ADMIN.'t_menu.php';
  206. }
  207.  
  208. (ID_USUARI=='1') ? include(HEADER_ROOT) : include(HEADER_ADMIN);
  209.  
  210. $_POST['form_oferta_add'] = stripslashes($_POST['form_oferta_add']);
  211. }
  212. $nombre_campo_escapado = mysql_real_escape_string($_POST['form_oferta_add'])
  213.  
  214.  
  215. include(BODY);
  216. include(FOOTER_ADMIN);
  217.  
  218.  
  219. //******Incluir esta linea al final todos los scripts***********
  220. include($_SERVER['DOCUMENT_ROOT'].'/inicio/final.php');
  221. //**************************************************************
  222. ?>
  #12 (permalink)  
Antiguo 15/03/2012, 10:14
 
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: addslashes, mysql_real_escape_string o similare

Ok, arreglado. Al final le he puesto directamente el mysql_real_scape_string a los datos recogidos del form.

Muchas gracias, me ha sido de gran ayuda vuestros comments!

Etiquetas: addslashes, formulario, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:16.