Foros del Web » Programando para Internet » PHP »

pasar variables sin un formulario ?

Estas en el tema de pasar variables sin un formulario ? en el foro de PHP en Foros del Web. Hola a todos, este es mi primer post. Soy nuevo en la programación web, me puse a estudiar de forma autodidacta HTML, CSS, PHP y ...
  #1 (permalink)  
Antiguo 11/12/2008, 17:19
Rodre
Invitado
 
Mensajes: n/a
Puntos:
pasar variables sin un formulario ?

Hola a todos, este es mi primer post. Soy nuevo en la programación web, me puse a estudiar de forma autodidacta HTML, CSS, PHP y JS. Así que me tendrán por aca haciendo muchas preguntas en principio, y espero de a poco poder empezar a responder yo mismo algunas preguntas. Se que son preguntas de noob estas primeras pero bueno, hay que pasar por esto.

En principio quiero saber si es posible pasar variables sin un formulario a otra página. Es decir si puede haber un evento que no sea un form, que me abra otra página recibiendo algunas variables.

Lo otro que quiero saber es cómo hacer para abrir otra página sin necesidad de un tag <a> clickeable, o un formulario. Sino que por ejemplo dependiendo de una condición se abra una determinada página.

Busqué un poco de esto último y cai en un par de lugares que hablaban de header, es esta la única forma ? si es así me pongo a invesigarlo.

Muchas Gracias de antemando a todos.
  #2 (permalink)  
Antiguo 11/12/2008, 17:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: pasar variables sin un formulario ?

Para pasar variables que no sean por un formulario puedes usar $_GET (Hipelink), $_SESSION (las famosas sesiones) o $_COOKIE (cookies).
  #3 (permalink)  
Antiguo 11/12/2008, 17:24
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 11 años, 4 meses
Puntos: 32
Respuesta: pasar variables sin un formulario ?

tambien puedes pasar variables por URL es un buen metodo aunque dices que quieres <a> lo que quieres es algo que te redireccione de un sitio a otro supongo
Salu2
  #4 (permalink)  
Antiguo 11/12/2008, 17:26
 
Fecha de Ingreso: julio-2008
Ubicación: El Puerto de Santa María
Mensajes: 62
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: pasar variables sin un formulario ?

Cita:
Iniciado por acoevil Ver Mensaje
tambien puedes pasar variables por URL es un buen metodo aunque dices que quieres <a> lo que quieres es algo que te redireccione de un sitio a otro supongo
Salu2
Pasar las variables por URL es pasarlas por $_GET
  #5 (permalink)  
Antiguo 11/12/2008, 17:27
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.483
Antigüedad: 17 años, 4 meses
Puntos: 2111
Respuesta: pasar variables sin un formulario ?

Para pasar datos sin usar formulario, puedes hacerlo mediante variables de tipo GET (por formulario son POST) que son las típicas que aparecen al final de una URL, por ejemplo:
dominio.com/index.php?nombre=Juan&apellido=Fernandez
Asï podrías recoger las variables de ésta manera:
Código PHP:
echo "Tu nombre es ".$_GET['nombe'].", y tu apellido ".$_GET['apellido']; 
Otra forma sería hacerlo por una variable de sesión, que dura todo el tiempo que el usuario está en la web (hasta cerrar el navegador). Aunque en principio imagino que te valdrá la primera opción.

Lo del header, pues si, en princpio es la única forma. Tal vez si nos dices porqué o para que lo necesitas hacer de esa forma te podamos ayudar mejor.

Y Bienvenido a FDW.
  #6 (permalink)  
Antiguo 11/12/2008, 17:43
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar variables sin un formulario ?

La respuesta está en las sesiones creo. Estoy haciendo una página para una fotografa que tiene que administrar las fotos. Ya hice el login y la validación de los datos de login que están en una base de datos, para acceder al administrador. Entonces yo pensaba que luego de esto le haría un salto automático a la página del administrador. Pero cai en la cuenta de que no tiene sentido, porque para qué el login entonces.

Supongo que lo de las sesiones me resuelve los dos problemas. Así que me pongo a investigar el tema.

Muchas Gracias.
  #7 (permalink)  
Antiguo 11/12/2008, 17:56
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.483
Antigüedad: 17 años, 4 meses
Puntos: 2111
Respuesta: pasar variables sin un formulario ?

Efectivamente, usar sesiones es la solución idónea. Los sistema de usuarios, o para paneles de administración como es tu caso, suelen hacerse con sesiones.
Si tienes cualquier duda de como usarlas aquí estamos.
  #8 (permalink)  
Antiguo 11/12/2008, 18:20
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Implementé la sesión y esto es lo que me pasa.

<?

session_start();

$_SESSION['validate'] = 0;

$usuario = $_POST['usuario'];
$password = $_POST['password'];

?>

Eso es lo que puse al principio de la página. Las variables que vienen por post son los datos a validar. Despues en el body tengo el codigo de validación que funciona bien.

Lo que yo pensé es, en caso de que el usuario y la contrseña estén bien, cambio el valor de la sesion a 1 y lo mando a la página del administrador, dónde checkea el valor de $_SESSION['validate'] si no concuerda no se puede hacer nada, para evitar que se saltee digamos.

2 cosas pregunto:

1. Les parece bien el planteo general que estoy haciendo ?
2. Me tira el siguiente error:


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\sites\nicole\manage.php:2) in D:\AppServ\www\sites\nicole\manage.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\sites\nicole\manage.php:2) in D:\AppServ\www\sites\nicole\manage.php on line 4

Ya lo resolví, increible. El error ese lo tira porque había una linea en blanco antes de abrir el php.

Saludos

Última edición por GatorV; 11/12/2008 a las 22:11
  #9 (permalink)  
Antiguo 11/12/2008, 21:35
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: pasar variables sin un formulario ?

Cita:
Iniciado por Bonez Ver Mensaje
Otra forma sería hacerlo por una variable de sesión, que dura todo el tiempo que el usuario está en la web (hasta cerrar el navegador).
Depende de la configuracion de tu php.ini, si la directiva:
session.cookie_lifetime es 0
La session durara hasta que se cierre el navegador, si de lo contrario tiene un valor, la cookie de la session expirara en el tiempo especificado.
  #10 (permalink)  
Antiguo 12/12/2008, 00:29
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: pasar variables sin un formulario ?

Este error:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\sites\nicole\manage.php:2) in D:\AppServ\www\sites\nicole\manage.php on line 4


Es porque has dejado una linea en blanco entre el tag de apertura "<?" y la declaracion "session_atart()"
  #11 (permalink)  
Antiguo 12/12/2008, 09:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: pasar variables sin un formulario ?

Cita:
Iniciado por Rodre Ver Mensaje
Ya lo resolví, increible. El error ese lo tira porque había una linea en blanco antes de abrir el php.

Saludos
@pixel1,

Si te fijas ya habia resuelto el error el mismo
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 22:43.