Tengo el siguiente problema. Cuando grabo los datos al base de datos MySql, se graba 2 veces. He quitado todas las etiquetas HTML y solo he dejado puro codigo PHP y no se soluciona mi problema. Porque esta suciendiento este error???
Necesito ayuda, estoy como loco...
Adjunto mi codigo para que lo vean.
Código PHP:
<?php
include("../php/base.php");
$mibase = new base();
include("../php/funciones.php");
session_start();
$usuario = $_SESSION['usuario_contra'];
//VARIABLES DEL FORMULARIO CABECERA;
$localidad=$_POST['h_localidad'];
$codigo_contrato = $_POST['h_codigo'];
$nombre = strtoupper($_POST['h_nombre']);
$ruc = $_POST['h_ruc'];
$fono = $_POST['h_fono'];
$direccion = strtoupper($_POST['h_direccion']);
$tipo_persona = $_POST['h_tipo_persona'];
if($tipo_persona=="E")
{
$empresa =strtoupper($_POST['h_empresa']);
$cargo = strtoupper($_POST['h_cargo']);
}
$ciudad = strtoupper($_POST['h_ciudad']);
$observaciones = strtoupper($_POST['h_observaciones']);
$comen = strtoupper($_POST['h_comen']);
$tipo_gerente = $_POST['h_tipo_gerente'];
$fecha = $_POST['h_fecha'];
$ejecutivo = strtoupper($_POST['h_ejecutivo']);
$forma_pago = strtoupper($_POST['h_forma_pago']);
$desc = $_POST['h_desc'];
$iva = $_POST['h_iva'];
$tipo_prod = strtoupper($_POST['h_tipo_prod']);
$tipo_aviso = $_POST['h_tipo_aviso'];
if($tipo_aviso==5)
{
$aprob_edi=$_POST['h_aprob_edi'];
}
$municipio = $_POST['h_municipio'];
if($municipio=="CM")
{
$perso_muni = strtoupper($_POST['h_perso_muni']);
$cargo_muni = strtoupper($_POST['h_cargo_muni']);
}
$ciud_clie = strtoupper($_POST['h_ciud_clie']);
$prov_clie = strtoupper($_POST['h_prov_clie']);
$sql_cabe = "INSERT INTO cabecera VALUES($codigo_contrato, '$localidad', $tipo_gerente,";
//Este IF es para el tipo de persona (PN o E)
if($tipo_persona=="PN")
{
$sql_cabe .="'', '$ruc','$direccion','$fono','$nombre', '',";
}
else
{
$sql_cabe .="'$empresa', '$ruc','$direccion','$fono','$nombre','$cargo',";
}
//continuando.....
$sql_cabe .= "'$fecha', '$ejecutivo', '$ciudad', '$forma_pago', $desc, $iva,";
//Este if es para el tipo de aviso
if($tipo_aviso == 5)
{
$sql_cabe .= "$tipo_aviso, '$aprob_edi','$observaciones',";
}
else
{
$sql_cabe .="$tipo_aviso, '','$observaciones',";
}
//continuando....
$sql_cabe .="'$tipo_prod','A',";
//Este if es para el municipio
if($municipio=="CN")
{
$sql_cabe .="'N','','','',";
}
else
{
$sql_cabe .="'S','','$perso_muni','$cargo_muni',";
}
//continuando....
$fecha_actual = date("Y-m-d G:i:s");
$sql_cabe .="'$usuario','$fecha_actual','$comen','$ciud_clie','$prov_clie')";
//VARIABLES DEL FORMULARIO DETALLES;
$revista_id = strtoupper($_POST['sel_revista']);
$fecha_pub = strtoupper($_POST['txtfechapub']);
$tamano_id = strtoupper($_POST['sel_tamano']);
$cantidad = $_POST['txtcantidad'];
$tema_aviso = strtoupper($_POST['txttemaaviso']);
$prec_unit = $_POST['txtprecunit'];
$subtotal = $_POST['txtsubtotal'];
##################
#OBTENGO LA DESCRIPCION DE LA REVISTA SELECCIONADA
$sql_revi_id="select revi_descripcion from revistas where revi_codi=$revista_id";
$result_revi_id=mysql_query($sql_revi_id,$mibase->retorna_conexion());
$row_revi_id=mysql_fetch_array($result_revi_id);
$revista = $row_revi_id[0];
##################
#OBTENGO LA DESCRIPCION DEL TAMANO SELECCIONADO
$sql_tama_id="select tama_descrip from tamanos where tama_codi=$tamano_id";
$result_tama_id=mysql_query($sql_tama_id,$mibase->retorna_conexion());
$row_tama_id=mysql_fetch_array($result_tama_id);
$tamano = $row_tama_id[0];
#################
#(?)Construyendo la sentencia para los detalles
$sql_deta = "INSERT INTO detalles VALUES($codigo_contrato,'$localidad',1,'$revista','$fecha_pub','$tamano','$cantidad','$tema_aviso',$prec_unit, $subtotal)";
//VALIDANDO SI EL USUARIO HA INICIADO SESSION
if(session_is_registered("usuario_contra"))
{
echo "<p><img src='../images_red/usuario_l.png' border='0' />Usuario Conectado: <b>".$usuario."</b></p>";
unset($sql,$registros);
$sql = "select usu_loca_codi, usu_tip_us_id from usuarios where usu_usuario='".$usuario."'";
$mibase->consulta($sql,$registros);
$localidad = $registros[0][0];
$tipo_usuario = $registros[0][1];
unset($sql,$registros);
}//fin del IF(session_is_registred)
else
{
echo"
<script>
alert('Lo sentimos!! Debe iniciar sesion por favor.');
var_url ='../index.php';
window.location = var_url;
</script>
";
}
//El metodo actualiza() solo ejecuta una sentencia (contiene mysql_query)
$mibase->actualiza("START TRANSACTION");
if($mibase->actualiza($sql_cabe) && $mibase->actualiza($sql_deta))
{
$mibase->actualiza("COMMIT");
echo "OK";
}
else
{
$mibase->actualiza("ROLLBACK");
echo "ERROR";
}
echo "<br />";
?>