Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2011, 18:49
expecimen
 
Fecha de Ingreso: octubre-2006
Ubicación: Ciudad Ojeda, Venezuela
Mensajes: 123
Antigüedad: 19 años, 11 meses
Puntos: 0
Notice: Undefined index:

Saludos de nuevo hace unos días cambio mi programa de servidor local, cambie de AppServ a Xampp para windows lo hice que este ultimo corre en ubuntu y bueno lo estoy probando y también para actualizarme en cuestión del apache, sql y php bien he estado provando los sistemas que he desarrollado y pues como cosa rara por cosas de actualización me han dado cierto errores la mayoría ya lo he corregido sin problemas pero tengo un problema en los sistema de registro por ejemplo tengo este código de registro:

tengo un sistema en donde tiene que seleccionar a través de un checkbox un trimestre

Trimestre 1
Trimestre 2
Trimestre 3
Trimestre 4

en la otra pagina esta el código de registro

Código PHP:
<?php
    
//Start session
    
session_start();
    
    
//Include database connection details
    
require_once('../../../config/config.php');
    
    
//Array to store validation errors
    
$errmsg_arr = array();
    
    
//Validation error flag
    
$errflag = false;
    
    
//Connect to mysql server
    
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!
$link) {
        die(
'Failed to connect to server: ' . mysql_error());
    }
    
    
//Select database
    
$db = mysql_select_db(DB_DATABASE);
    if(!
$db) {
        die(
"Unable to select database");
    }
    
    
//Function to sanitize values received from the form. Prevents SQL injection
    
function clean($str) {
        
$str = @trim($str);
        if(
get_magic_quotes_gpc()) {
            
$str = stripslashes($str);
        }
        return 
mysql_real_escape_string($str);
    }
    
    
//Sanitize the POST values

$T1 = clean($_POST['T1']);
$T2 = clean($_POST['T2']);
$T3 = clean($_POST['T3']);
$T4 = clean($_POST['T4']);


    
//Input Validations
    
if($total == '') {
        
$errmsg_arr[] = 'FALTA CALCULOS';
        
$errflag = true;
    }
    if(
$codigo1 == '') {
        
$errmsg_arr[] = 'FALTA CODIGO DE ACTIVIDAD';
        
$errflag = true;
    }
    if(
$acti1 == '') {
        
$errmsg_arr[] = 'FALTA ACTIVIDAD ECONOMICA';
        
$errflag = true;
    }
        if(
$Declara1 == '') {
        
$errmsg_arr[] = 'FALTA DECLARACIÓN';
        
$errflag = true;
    }


    
//Check for duplicate login ID
    
if($Declara1 != '') {
        
$qry = "SELECT * FROM iyc WHERE Declara1='$Declara1'";
        
$result = mysql_query($qry);
        if(
$result) {
            if(
mysql_num_rows($result) > 0) {
                
$errmsg_arr[] = '<b>DECLARACIÓN YA REGISTRADA</b>';
                
$errflag = true;
            }
            @
mysql_free_result($result);
        }
        else {
            die(
"No hay conexion a la BD");
        }
    }
    
    
//If there are input validations, redirect back to the registration form
    
if($errflag) {
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        
session_write_close();
        
header("location: declara.php");
        exit();
    }

    
//Create INSERT query
$qry = "INSERT INTO iyc (T1, T2, T3, T4 ) VALUES ('$T1','$T2','$T3','$T4')";
$result = @mysql_query($qry); 
$last_id = mysql_insert_id();

?>
la situación esta en que el sistema hace el registro en la BD a pesar del error, el problema esta que cuando solo selecciono uno o dos trimestre me sale el siguiente error:

Notice: Undefined index: T3 in C:\xampp\htdocs\sedemat\industriacomercio\declara\ 01\registro.php on line 62

Notice: Undefined index: T4 in C:\xampp\htdocs\sedemat\industriacomercio\declara\ 01\registro.php on line 63



la linea 62: $T3 = clean($_POST['T3']);

la linea 63: $T4 = clean($_POST['T4']);



En la versión del Appeserver no me ocurría este error