Foros del Web » Programando para Internet » PHP »

Como enviar variables a un include en otra página

Estas en el tema de Como enviar variables a un include en otra página en el foro de PHP en Foros del Web. Hola amigos, estoy intentando pasar los errores al rellenar un formulario. Para si se deja algun campo vacio o algo, muestre el error debajo del ...
  #1 (permalink)  
Antiguo 19/11/2012, 07:05
valago
Invitado
 
Mensajes: n/a
Puntos:
Como enviar variables a un include en otra página

Hola amigos, estoy intentando pasar los errores al rellenar un formulario. Para si se deja algun campo vacio o algo, muestre el error debajo del formulario.

Tengo un archivo index.php, el cual con un include inserta una pagina llamada forget_password.php que es la que contiene el formulario.
Ese formulario se valida en otra página validar_forget_password.php. La cual si hay algun error lo enviaría para que se muestre debajo del formulario. Esto lo hago con un archivo error.php que dependiendo del valor de la variable "error" me muestra un mensaje u otro. Esto se lo explico para que se hagan una idea.

Mi problema viene al enviar esa variable error a forget_password.php no se como hacerlo, he estado probando así, pero llama a forget_password.php directamente sin estilo ni nada


Código PHP:
Ver original
  1. echo '
  2.        <script type="text/javascript">
  3.             window.location="forget_password.php?error=1";
  4.        </script>';

Y también así, pero me manda al index directamente.

Código PHP:
Ver original
  1. echo '
  2.        <script type="text/javascript">
  3.             window.location="index.php?password?error_pas=1";
  4.        </script>';



También he probado a hacerlo con variables de session, pero lo veo un lio y poco eficiente.

Espero que puedan ayudarme, gracias de antemano!!. Un saludo.
  #2 (permalink)  
Antiguo 19/11/2012, 07:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como enviar variables a un include en otra página

error.php?error=1

Es error.php quien tiene que recibir y tratar esa varible...no?

es decir "validar_forget_password.php" debe calcular que error se esta dando y llamar error.php con el parametro adecuado....

Si haces include de forget_password.php en index.php a todos los efectos forget_password.php forma parte de index.php.... con window.location cambias de fichero....

Muestra que estas haciendo en cada fichero y será mas facil orientarte.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 19/11/2012, 09:27
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como enviar variables a un include en otra página

Esto es lo que hace error.php

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     //controla los errores cuando has olvidado la contraseña
  4.     $error_pas = @$_GET['error_pas'];
  5.     $perror_pas ="";
  6.    
  7.     switch ($error_pas){
  8.     case "1":
  9.     $perror_pas = $i_ERROR_PAS1;   
  10.     break; 
  11.    
  12.     case "2":
  13.     $perror_pas = $i_ERROR_PAS2;   
  14.     break;
  15.    
  16.     case "3":
  17.     $perror_pas = $i_ERROR_PAS3;   
  18.     break; 
  19.    
  20.     case "4":
  21.     $perror_pas = $i_ERROR_PAS4;   
  22.     break;
  23.     }
  24. ?>

Exactamente, validar_forget_password.php valida el formulario, si hay algun campo vacio por ejemplo manda esto.

Código PHP:
Ver original
  1. if ($_POST['email'] == null){
  2.         //rellene el campo email       
  3.      echo '
  4.        <script type="text/javascript">
  5.             window.location="index.php?password?error_pas=1";
  6.        </script>';
  7.            
  8. }

Entonces al llegar a forget password se hace un include de error.php y dependiendo del valor de error_pas, en el switch, le pasa un valor u otro a la variable, esos valores son variables definidas en otro fichero para el lenguaje. Por ejemplo:
$i_ERROR_PAS1="Debe rellenar todos los campos";

Esto funciona bien a la hora de pasar de una página a otra, pero el problema me viene, cuando ese página a la que le paso la variable está contenida dentro de otra con el include("forget_password.php"); No se como pasarle esa variable por la URL, o de otra manera si esk se puede. Ya que si se la mando a index.php, se carga index, pero yo lo que quiero es que se cargue forget password dentro de index.php, no se si me he explicado bien.

Gracias por tu respuesta, un saludo.
  #4 (permalink)  
Antiguo 19/11/2012, 11:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Como enviar variables a un include en otra página

Yo de ti miraria AJAX es lo mejor en estos casos ....

No entiendo cuando esperas que se ejecute ese script..... con el window.location...

Insisto busca una version de la funcion clientsideinclude que usa ajax y veras muy claro como soluciona todo esto... basicamente recarga partes de una pagia, por ejemplo primero muestras el form en un div, lo mandas a un fichero php que lee los datos y retorna la respuesta, esta se muestra en el mismo div sin recargar index.php.

La respuesta puede ser dando las gracias por haber mandado el form o avisando de un error y mostrando otra vez el form....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 20/11/2012 a las 03:29
  #5 (permalink)  
Antiguo 19/11/2012, 12:18
valago
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como enviar variables a un include en otra página

No he usado AJAX porque no lo he usado nunca y me daba un poco de respeto. Ya he estado leyendo por ahí que facilita mucho las cosas, Voy a informarme, a ver como trabaja y si consigo aplicarlo.

De todas formas si se te ocurre alguna forma de hacerlo como te he dicho, ya que me urge hacerlo y si tengo que aprender algo de ajax puede que me cueste mucho mas.

De todas formas, muchas gracias por tus respuestas, y un saludo.

Etiquetas: formulario, include, página, variables
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:24.