Problemas con mi código

Hola mi problema es el siguiente tengo una página llamada abrir_exp.php donde lleno los campos que necesito hasta ahí todo bien el problema viene al guardar ya que al guardar llama a acepta_expe.php en esta página recojo los datos y obtengo un consecutivo hasta ahí todo va bien luego con javascript pongo un confir que si quiere guardar el expediente si dice que si lo guarda bien sin problemas, pero al decir cancelar me regresa a la página anterior sin embargo aun así me guarda el registro y lo que no quiero es que lo guarde les poengo el código para que me digan en que esta mal
<?php
//conecto con la base de datos
    include("conex.php");
    $id=conectarse();
//recogo variables de la otra pagina
$expe=$_POST['expe'];
$pme=$_POST['pme'];
$org=$_POST['org_id'];    
$des=$_POST['des_id'];
$anio=$_POST['anio'];
$edo_o=$_POST['org_a'];
$edo_d=$_POST['des_a'];
$ciudad_o=$_POST['ciudad_or'];
$ciudad_d=$_POST['ciudad_de'];
//obtengo el consecutivo segun el año
$consulta = "SELECT MAX(conse) AS mayor FROM restitucion WHERE (restitucion.anio = '$anio')";
    $datos = mysql_query($consulta, $id);
    if($renglon = mysql_fetch_array($datos))
    {
    $conse=$renglon['mayor']+1;
    }
//armo el expediente con los campos
$anios=substr($anio,2,4);
$expediente=$pme."(".$expe."/".$anios.")".$conse;
//cambio las / por _ para crear carpeta
$carpeta = str_replace("/", "_", $expediente);
?>
<script language="javascript">
//boton de confirm para aceptar o cancelar el expediente
acepta=confirm("¿Desea guardar el expediente <?php echo $expediente; ?> ");
if(acepta==false)
{
// si es cancelar regresa
history.back();
}
else
{
// si es aceptar inserta
<?php
$insert = "INSERT INTO restitucion (no_expe, anio, conse, pais_o, estado_o, ciudad_o, pais_d, estado_d, ciudad_d) VALUES ('$expediente', '$anio', '$conse', '$org', '$edo_o', '$ciudad_o', '$des', '$edo_d', '$ciudad_d' )";
$result = mysql_query($insert, $id) or die(mysql_error());
?>
}
</script>
Por favor ayúdenme llevo tiempo con ese código
Respuesta
1
Con esa forma de programar estás jugando demasiado con el tiempo de ejecución, es decir, sólo funcionaría si el history. Back se ejecuta antes de que el servidor llegue al INSERT.
Para hacer esta confirmación deberías estructurarla en dos página (o dos peticiones de la misma).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas