Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2011, 08:54
erikcrane
 
Fecha de Ingreso: febrero-2009
Mensajes: 12
Antigüedad: 15 años, 2 meses
Puntos: 0
Undefined index en popup

Muy buenas,

Acudo al foro porque he probado mil cosas para solucionar esto pero nada de nada.

Tengo un formulario que envia los datos a la pagina busqueda_cliente.php.

Antes de enviar los datos los compruebo con javascript para que sean correctos.

Una vez comprobados y enviados mediante javascript abro un popup con los resultados de la busqueda. Estos resultados se encarga de imprimirlos por pantalla mostrar_resultados.php.

Los datos de la busqueda que optiene busqueda_cliente.php los almaceno en variables de sesion para pasarselos a la pagina mostrar_resultados.php

Hasta ahi todo correcto, pero si la pagina mostrar_resultados.php la abro mediante un popup me da un error de Undefined index de las variables de sesion que cree en busqueda_cliente.php.

Si vuelvo ha hacer click en el boton de enviar del formulario entonces me aparecen bien. Pero con el primer click siempre me sale el error de Undefined index.

Paso a mostrar los trozos de codigo.

administracion.php (es donde tengo el formulario)

Código PHP:
<form method="post" name="busqueda_cliente" action="scripts/busqueda_cliente/busqueda_cliente.php" onsubmit="return basurilla();">
<
input class="boton_consulta" name="btn_enviar_busqueda" type="submit" value="Enviar Consulta" />
</
form
En el head tengo este script para comprobar los datos y abrir el popup

Código:
	function basurilla(){
		if(comprueba_busqueda_cliente(4)){ //Esta funcion comprueba los datos
			window.open('scripts/busqueda_cliente/mostrar_resultados.php','','width=970,height=600');
		}else{
			return false;
		}
	}
busqueda_cliente.php (es donde recogo los datos del formulario y los busco en la base de datos)

Código PHP:
<?php
session_start
();

//recojo los datos y busco en la bd

header ('Location: ../../administracion.php'); //vuelvo a la pagina principal
mostrar_resultados.php

Código PHP:
<?php
        ini_set
('display_errors''On');
    
session_start();

    require (
'../../config.php');
    require (
ABSPATH 'scripts/calendario/funciones_calendario.php');
    require (
ABSPATH 'scripts/funciones.php');
    require (
ABSPATH 'scripts/busqueda_cliente/funciones_busqueda.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>-->
<?php
    mostrar_resultado
();
?>
<!--</body>
</html>
He probado a cambiar el modo de hacer pop-up por este (lo que tiene color verde es lo que cambio):

administracion.php
Código:
function basurilla(){
		if(comprueba_busqueda_cliente(4)){ //Esta funcion comprueba los datos
			window.open('popup','','width=970,height=600');
		}else{
			return false;
		}
}
Código:
<form method="post" name="busqueda_cliente" action="scripts/busqueda_cliente/busqueda_cliente.php" target="popup" onsubmit="return basurilla();">
busqueda_cliente.php
Código:
<?php
session_start();

//recojo los datos y busco en la bd

mostrar_resultado();

header ('Location: ../../administracion.php'); //vuelvo a la pagina principal

De esta manera me funciona bien y no me sale el Undefined index, pero si los datos se introducen mal el javascript me avisa pero igualmente me muestra el resultado.

Muchas gracias de antemano a todos