Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2003, 10:26
osini
 
Fecha de Ingreso: junio-2003
Ubicación: Granada
Mensajes: 27
Antigüedad: 20 años, 10 meses
Puntos: 1
Buenas maneras al recoger un formulario

Hola.

Llevo cierto tiempo trabajando con PHP y aunque no he tenido ningún problema siempre tengo la duda de si lo hago bien o no.

Cuando desde un formulario envío datos a otro script a la hora de recibir esos datos lo hago de la siguiente forma:

(Os pongo un ejemplo completo con un INSERT en MySQL)

Código PHP:
<?php

//----------- Curso es el codigo del curso en el cual se matricula.
if ( !isset($curso) || ($curso == "") ) {
    
$curso "1486";        //-------------- Si no existe por defecto 1486
}

//----------- Este script se llama a si mismo, opc indica que hacer.
if ( !isset($opc) ) {
    
$opc "0";    //------------- Si no existe se trata como una petición nueva.
    //------------------------------ OPC = 0 Nueva petición.
    //------------------------------ OPC = 1 Grabar una petición.
}

//---------- comprueba alguno de los parametros que no le deben faltar...
$error 0;
if (
$opc=="1") {
    if (!isset(
$nombre) || ($nombre == "")) {
        
$error 1;
    }
    if (!isset(
$apellidos) || ($apellidos == "")) {
        
$error 1;
    }
    if (!isset(
$direccion) || ($direccion == "")) {
        
$error 1;
    }
    if (!isset(
$poblacion) || ($poblacion == "")) {
        
$error 1;
    }
}

if (
$error == 1) {    //----------- falta algun dato...
    
$llamada "Location: matricu.php?curso=" $curso;
    
Header$llamada );
    exit;
}

//----------------- si es igual a 1 graba los datos...
if ($opc == "1") {
    
conecta_mysql();    //-------------- Realiza la conexión con la B.D.

    
$fecha date("Y-m-d H:i:s");

    
//-------------------- graba el registro...
    
$orden "INSERT INTO matricula (nombre, apellidos, direccion,
 poblacion, fecha, curso) VALUES ('$nombre', '$apellidos',
 '$direccion', '$poblacion', '$fecha', '$curso' )"
;

    
mysql_query ($orden);    //----------- graba…
El resto del script continua mostrando un mensaje avisando de que el registro se ha grabado o se encarga de la petición si opc==0.

Este programa funciona perfectamente pero:

¿Que se puede mejorar (que se que hay mucho)?

Como veis no utilizo $_GET ya que desde mis inicios me he acostumbrado a recoger directamente las variables. ¿Es correcto?

¿Es segura la recepción de los datos que hago?

¿Puedo tener algún problema de seguridad con código HTML?

Bueno si alguien quiere comentar o explicar como se puede mejorar este código o de que otra forma lo hace será bienvenido.

Un saludo y gracias.