Foros del Web » Programando para Internet » PHP »

problemas, se graba 2 veces base datos

Estas en el tema de problemas, se graba 2 veces base datos en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente problema. Cuando grabo los datos al base de datos MySql, se graba 2 veces. He quitado todas las etiquetas ...
  #1 (permalink)  
Antiguo 16/05/2008, 08:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
problemas, se graba 2 veces base datos

Hola a todos.

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 />";
?>
Gracias por la ayuda
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 02:45.