Foros del Web » Programando para Internet » PHP »

paso de variables en php

Estas en el tema de paso de variables en php en el foro de PHP en Foros del Web. Hola amig@s!! Resulta que estoy haciendo una práctica en php con sql server para mis clases de programación y ya la tengo casi acabada, pero ...
  #1 (permalink)  
Antiguo 28/02/2008, 11:22
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
paso de variables en php

Hola amig@s!!
Resulta que estoy haciendo una práctica en php con sql server para mis clases de programación y ya la tengo casi acabada, pero mi problema es el siguiente:
Utilizo 2 páginas, una de administración que recoge todas las variables y dependiendo del botón que se pulsa iama a una función u otra pasándole la información que se ha escrito y otra página con todas las funciones.
En la parte de consultar socio tengo 3 campos para reienar y la consulta, al pulsar el botón aceptar, me la hace bien y todo, pero al mostrar los resultados incorporo unas flechitas de ordenación con el siguiente código:
Código HTML:
<a href='./AdminBiblio.php?ordconssocios=nifasc'><img src='../images/flecharriba.gif' alt='arriba' /></a> 
El problema surge cuando pulso cualquier flecha, que mando la misma información con las mismas variables a la misma función que la primera vez que hago la consulta, incorporádole el string 'Order By elcapoquecorresponda', pero al parecer el valor de dichas variables($dni, $nom, $apes) se ha perdido y en esta ocasión me salen todos los socios, sin importar el campo por el que haya buscado, aunque ordenados por el campo y la direccion que solicité.
Como podría hacer que esas variables que recibí queden guardadas y no se pierdan hasta que se mande un nuevo valor?? ah, las recibo por post, aunque la ordenación la recojo por get.

Última edición por GatorV; 28/02/2008 a las 11:32
  #2 (permalink)  
Antiguo 28/02/2008, 11:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: paso de variables en php

Ese es el problema, no puedes via un link enviar variables por POST, por lo que si quieres retener las variables debes de agregarlas al Query String:
Código HTML:
<a href='./AdminBiblio.php?ordconssocios=nifasc&dni=dni&nom=nombre&apes=apellidos'><img src='../images/flecharriba.gif' alt='arriba' /></a> 
Saludos.
  #3 (permalink)  
Antiguo 28/02/2008, 12:01
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: paso de variables en php

Gracias GatorV, pero el problema no puede solucionarse así, me temo.
Resulta que los formularios también los tengo en la página de funciones, os explico el seguimiento de la operación:
1º pulso el botón consultar(que pertenece a la página de funciones, pero se carga en la de administración).
2º administración recibe la variable consultar y llama otra vez a funciones para mostrar el formulario.
3º relleno cualquiera de los campos y le doy al boton de aceptar.
4º administración recibe el botón consultar y los datos que he introducido y llama otra vez a funciones, pasándole las variables correspondientes a los datos, y que he recogido por post. Meto las filas obtenidas en un array y las devuelvo a administracion.
5º si la consulta me devuelve datos en administracion, entonces llamo a 2 funciones, una para imprimir la cabecera(aquí salen las flechas de ordenacion) y otra para imprimir la tabla a la que paso el array y el numero de columnas a imprimir.

Hasta aquí todo correcto, pero cuando pulso una flecha vuelvo a llamar a la funcion de consultar pasandole los mismos parametros que antes con el order by para que me haga la misma consulta que antes pero esta vez ordenada por el campo que yo le haya dicho. Lo que pasa es que al parecer las variables que recogieron los datos ya estan vacias y me las manda así, vacías, entonces ia no me busca un socio por dni, o por nombre, sino todos ordenados...

Lo de que no puedo usar la solución que tu me has dado, ia entenderás el por qué, resulta que en funciones solo recibo variables en las funciones que ieven parámetros y que pasa administracion y en funciones tanto el dni como el nombre o los apellidos solo tienen valor cuando los introduzco en el formulario y se los paso a administracion. Lo que no se es como hacer que en las sucesivas operaciones esas variables no se pierdan.

Gracias!!
  #4 (permalink)  
Antiguo 28/02/2008, 12:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: paso de variables en php

Como te comente, tienes de dos formas, o las pasas por GET en tu link para ordenar, o las guardas en una sesión y las recuperas posteriormente.

Saludos.
  #5 (permalink)  
Antiguo 28/02/2008, 12:15
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: paso de variables en php

Como podria hacer eso de guardarlas en una sesion?? creo que esto también me podria servir para otro problemilla que tengo con el usuario y el password.
  #6 (permalink)  
Antiguo 28/02/2008, 12:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: paso de variables en php

Al principio de tus paginas pones:
Código PHP:
session_start(); 
Luego donde quieras guardar una variable de sesión usas:
Código PHP:
$_SESSION['mivar'] = "valor"
Donde quieras ver el valor de la variable usas:
Código PHP:
echo $_SESSION['mivar'];
// o
$var $_SESSION['mivar']; 
Saludos.
  #7 (permalink)  
Antiguo 28/02/2008, 13:01
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: paso de variables en php

Muchas gracias por el código, pero a ver si me aclaro para poder utilizarlo.
El session_start(); me dice que no puede enviar la cookie de sesion porque las cabeceras ya han sido enviadas por output started o algo así(utilizo xampp para los servidores) .
Luego, donde tendría que coger la variable por sesion??, me refiero a en que momento, si sustituyo el $_POST que tengo para recibir el valor por el $_SESSION.
Algo mas, 'mivar' llevaria $, verdad?? y valor va entre comillas dobles, simples o da igual?
Gracias otra vez!!
  #8 (permalink)  
Antiguo 28/02/2008, 13:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: paso de variables en php

No, cuando tu lees variables de un arreglo no llevan $, solo es directo el nombre:
Código PHP:
$var $arreglo['key']; 
Si te aparece ese error al enviar session_start(), es porque no debe de haber otro contenido HTML o de texto antes de enviar el session_start(), por eso te decia que debes de enviarlo al inicio de tu script.

Saludos.
  #9 (permalink)  
Antiguo 28/02/2008, 14:52
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: paso de variables en php

Bueno, primer problema resuelto, ahora me queda el paso del usuario y el password.
Este esquema difiere del anterior en que ahora utilizo 2 páginas más, el index, que me pide el nombre de usuario y la contraseña y al pulsar el boton se me va a login, donde recojo las variables por post y llamo a la pagina funciones para que me loguee pasando estos 2 parámetros a la función.
Entro y tal, pero cuando en el submenu de cada menu principal le doy a volver al inicio con un enlace <a href...> me dice, claro, usuario desconocido pues no paso estas variables de un lado para otro.
Mis preguntas a este respecto son 2:
1. Como podría hacer todo ese paso de variables por post para que no se vean ni el nombre de usuario ni la contraseña??
2. Aunque quizás quedaría más bonito que cada vez que fuese a volver me pidiese de nuevo el usuario y contraseña, pero por pop up, como los alert de javascript, eso seria posible?? como??

Mil gracias de nuevo!!

Última edición por aniMAYtions; 28/02/2008 a las 16:07 Razón: para no abrir mas posts
  #10 (permalink)  
Antiguo 28/08/2008, 13:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: paso de variables en php

asi pasa una variable:

header ("Location: PROCESO_ACTUALIZAR_CPRUEBA.php?ced=$ced");

donde $ced es un variable rescatada de una consulta
  #11 (permalink)  
Antiguo 28/08/2008, 13:36
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: paso de variables en php

:P Hubiera sido una buena respuesta hace 6 meses.
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 14:15.