Foros del Web » Programando para Internet » PHP »

función mysql_real_escape_string()

Estas en el tema de función mysql_real_escape_string() en el foro de PHP en Foros del Web. Buena caballeros; Alguien me puede decir como usar la función mysql_real_escape_string() para evitar que al insertar los valores de un formulario en una db me ...
  #1 (permalink)  
Antiguo 24/07/2011, 13:17
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Mensaje función mysql_real_escape_string()

Buena caballeros;
Alguien me puede decir como usar la función mysql_real_escape_string() para evitar que al insertar los valores de un formulario en una db me puedan hacer inyecciones sql.

El codigo que recoge los datos del form es este:

Código PHP:
<?

    
// Datos de cada equipo que se inscriba. 
    // Requerimos: Nombre capitán, apellidos, email, movil, numero de apartamento, y color de equipo.
    // Tambien pediremos los nombres, apellidos y apartamento de los 9 jugadores restantes que compongan el equipo de futbol
    
$nombre1 $_POST['nombre1'];
    
$apellido0 $_POST['apellido0'];
    
$apellido1 $_POST['apellido1'];
    
$email $_POST['email'];
    
$movil $_POST['movil'];
    
$apartamento1 $_POST['apartamento1'];
    
$nombre_equipo $_POST['nombre_equipo'];
    
$color $_POST['color'];
    
$error '';
    
    
// Aqui comprobamos si el usuario ingreso los datos requeridos
    
if ($nombre1 == ""){ 
        
$error.="Debe ingresar el nombre del representante/capitan del equipo. <BR>\n";
    }if (
$apellido0    == ""){ 
        
$error.="No ha ingresado el primer apellido del representante/capitan del equipo. <BR>\n";
    }if (
$apellido1 == ""){ 
        
$error.="No ha ingresado el segundo apellido del representante/capitan del equipo. <BR>\n";
    }if
        (
$movil != "") {
            if ((!
ereg("^[0-9]{9}$"$movil) && $movil!="")||(!ereg("^[0-9]{9}$"$movil) && (strlen($movil) != 9))){
            
$error.="Ingrese un numero de contacto (movil) valido. <BR>\n";
            }
    }if (
$email == ""){ 
        
$error.="No ha ingresado su email. <BR>\n";
       }if(
ereg("[a-z0-9_.]+@[a-z0-9]+[.][.a-z0-9]+",$email)==&& $email!=""){
        
$error.="El email ingresado no es valido. <BR>\n";
    }if (
$apartamento1 == ""){ 
        
$error.="No ha ingresado el apartamento del representante/capitan del equipo. <BR>\n";
    }if (
$nombre_equipo == ""){ 
        
$error.="No ha ingresado el nombre del equipo. <BR>\n";
    }
       if (
$error != ""){
    
// Este es el archivo que contendra el mensaje de error
    
include ("err_envio.html");
    exit;
    
    }else{
    
    
//Ahora incluimos el archivo que insertará los datos en nuestra base de datos
    
include ("insertar.php");
    
    
    
//Redireccionamos a la pagina de proceso satisfactorio
    
include ("env_sat.html");
    }
    
    
?>
El código que inserta los datos insertar.php:
Código PHP:
 $link mysql_connect("ddd","ddd","aaaa");
        
mysql_select_db("eeee",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO futbol (
        nombre1,apellido0,apellido1,email,movil,apartamento1,nombre_equipo,color)
        
        VALUES (
        '{$_POST['nombre1']}',
        '{$_POST['apellido0']}',
        '{$_POST['apellido1']}',
        '{$_POST['email']}',
        '{$_POST['movil']}',
        '{$_POST['apartamento1']}',
        '{$_POST['nombre_equipo']}',
        '{$_POST['color']}',)"
,$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al insertar los valores. $my_error"

        } else {

            echo 
"Los datos han sido introducidos satisfactoriamente";
        } 
Un saludo !!!!
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #2 (permalink)  
Antiguo 24/07/2011, 13:53
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: función mysql_real_escape_string()

Código PHP:
VALUES (
        
'".mysql_real_escape_string($_POST['nombre1'])."',
        
'".mysql_real_escape_string($_POST['apellido0'])."'etc...... 
esa es una de las formas

postdata: revisa el manual de php

http://php.net/manual/es/function.my...ape-string.php

pues yo en si no lo hago asi y al parecer tampoco es la forma correcta ya que primero uno crea una variable y luego la coloca
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Última edición por johhan16; 24/07/2011 a las 14:10

Etiquetas: html, mysql, sql, formulario, usuarios
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 18:53.