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…    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.
 
