Foros del Web » Programando para Internet » PHP »

Problema:Cuando hago in INSERT a la BD lo hace 2 veces desde el explorer!!

Estas en el tema de Problema:Cuando hago in INSERT a la BD lo hace 2 veces desde el explorer!! en el foro de PHP en Foros del Web. Hola...tengo un formulario y cuando recupero los datos y trato de hacer un insert a la base de datos, lo hace dos veces desde el ...
  #1 (permalink)  
Antiguo 31/03/2007, 09:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 23
Antigüedad: 17 años, 1 mes
Puntos: 0
Problema:Cuando hago in INSERT a la BD lo hace 2 veces desde el explorer!!

Hola...tengo un formulario y cuando recupero los datos y trato de hacer un insert a la base de datos, lo hace dos veces desde el explorer y lo ejecuta bien desde el firefox ... no se si el problema tiene que ver con el codigo, con el servidor, con la configuracion del explorer ..no se que mas hacerle alcodigo ...
Gracias por su ayuda

Aqui recupero los elementos del form que lleno para hacer el insert
Código PHP:
<?php

/*Creo la conexion con la base de datos*/
$bd = new MySQL();
/*Recupero los datos*/
    
$tipo_servicio=$_POST['t_servicio']; 
    
$n_telefono=$_POST['DESCRIPCION0']; 
    
$nom_contacto=$_POST['DESCRIPCION1'];
    
$tel_contacto=$_POST['DESCRIPCION2'];
    
$mail_contacto=$_POST['DESCRIPCION3'];
    
$desc_dano=$_POST['des_dano'];
    
$cola=$_POST['enrutara'];
    
$obs=$_POST['observaciones'].' <br> Att: '.$log =    $_SESSION['login'].'<br><br>';
    
$prioridad='';

/*Realizo algunas consultas para ingresar los datos correctos a la base de datos*/
    
if($tipo_servicio=='001'||$tipo_servicio=='004'||$tipo_servicio=='002'){
        
$prioridad='10';
    }else{
        
$prioridad='20';
    }

$tiposervicio=$bd->query("SELECT * FROM `tipo_servicio` WHERE `nombre_servicio` = '".$tipo_servicio."'");
$desc_dano=$bd->query("SELECT `id_des_dano` FROM `descripcion_dano` WHERE `descripcion` = '".$desc_dano."'");
$cola=$bd->query("SELECT `id_cola` FROM `cola_ticket` WHERE `nombre_cola` = '".$cola."'");

/*Llamo a la funcion creaTicket que se encuentra en el archivo interfaz_recepcion.php, envio como parámetros tres tipos de cosas ...
1. Consultas hechas a la BD:$tiposervicio,$desc_dano,$cola
2. la conexion con la BD:$bd
3. Los datos $_POST recuperados:$nom_contacto,$tel_contacto,$n_telefono,$mail_contacto,$obs,$prioridad)
*/
creaTicket($tiposervicio,$desc_dano,$cola$bd,$nom_contacto,$tel_contacto,$n_telefono,$mail_contacto,$obs,$prioridad);
$path=$_SESSION['path'];
 
/*Aqui llamo a la pagina que muestra la confirmacion de la insercion
en la base de datos*/
print '<script language="JavaScript">
CREO EL SELF.LOCATION (NO PONGO EL COS EPXLICITO PK EL FORO NO LO PERMITE)
</script>'

?>
Aqui esta la funcion creaTicket()

Código PHP:
<?php
function creaTicket($tiposervicio,$desc_dano,$cola$bd,$nom_contacto,$tel_contacto,$n_telefono,$mail_contacto,$obs,$prioridad)
         
{
/*
$tiposervicio=$bd->query("SELECT `id_servicio` FROM `tipo_servicio` WHERE `nombre_servicio` = '".$tipo_servicio."'");
$desc_dano=$bd->query("SELECT `id_des_dano` FROM `descripcion_dano` WHERE `descripcion` = '".$desc_dano."'");
$cola=$bd->query("SELECT `id_cola` FROM `cola_ticket` WHERE `nombre_cola` = '".$cola."'");
estos llamados a la base de datos se ejecutan desde la clase next.php y se pasan por parámetro a la funcion
creaBodyTicket la cual, se encarga de mandar los mismos parámetros a esta funcion.

En objetivo general de creaTicket() es crear el ticket dentro de la base de datos y llamar a la función muestraTicket()
que se encarga de confirmarle al usuario que el ticket efectivamente se creo y mostrarle su ID para que el mismo usuario 
le haga diagnóstico*/

    
$fecha time();
    
date "Y:n:j:g:i:s" $fecha );
    
$f_hora=''.date("Y-n-j g:i:s");
    
$f=$tiposervicio->fetch();
    
$id_servicio=$f["id_servicio"];
    
$_SESSION['id_servicio']=$id_servicio;
    
$n_servicio=$f["nombre_servicio"];

    
$f=$desc_dano->fetch();
    
$id_dano=$f["id_des_dano"];

    
$f=$cola->fetch();
    
$id_cola=$f["id_cola"];
    
$n_cola=$f["nombre_cola"];
    
$fOut='0000-00-00 00:00:00';
    
$con=mysql_connect('localhost''rootdbticket''mbi8306');
    
mysql_select_db('bdticket'$con);
    
    
$sql=("INSERT INTO ticket_activo ( tipo_servicio ,  cola_ticket ,                       datos_internos ,                                   nombre_contacto ,  tel_contacto ,  email_contacto , descripcion_dano ,      observaciones , prioridad ,fecha_in , fecha_out, diagnosticando ) 
VALUES ('"
.$id_servicio."', '".$id_cola."', '".$n_telefono."', '".$nom_contacto."', 
          '"
.$tel_contacto."',  '".$mail_contacto."', '".$id_dano."','".$obs."',             '".$prioridad."',  '".$f_hora."',  '".$fOut."', NULL)");

    
$queryResource mysql_query($sql,$con);
    
$id_ticket=$bd->query("select * from ticket_activo where fecha_in =         '".$f_hora."'");
    
    
$_SESSION['n_servicio']=$n_servicio;
    
$_SESSION['f_hora']=$f_hora;
    
}
?>
Este es el codigo, lo he revisado mil veces y no se porque no funciona en un browser y en el otro no
Gracias
  #2 (permalink)  
Antiguo 01/08/2007, 04:11
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Problema:Cuando hago in INSERT a la BD lo hace 2 veces desde el explorer!!

A mí me ocurre exactamente lo mismo que a ti. Si solucionaste el fallo por favor dame la solución. Gracias.

Saludos
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 16:35.