Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: XafiloX en 5 Agosto 2009, 17:56 pm



Título: Pasar siempre informacion por GET
Publicado por: XafiloX en 5 Agosto 2009, 17:56 pm
Hola, me gustaria saber si hay alguna manera de pasar siempre una informacion por GET de manera automatica... Me parece que va a ser que no hay, pero es que si existiese eso me ahorraria mucho trabajo...  :)


Título: Re: Pasar siempre informacion por GET
Publicado por: SnakeDrak en 5 Agosto 2009, 18:22 pm
Hola,

No entiendo tu pregunta, si quieres pasarlo por GET pues en el formularo pones GET o en las cabeceras o según cómo estés enviando los datos.

Si lo que quieres es que aunque sean mandadas por POST sean tratadas como $_GET podrías hacer al principio del código:

Código
  1. foreach($_POST as $name => $val){
  2.  if(isset($_GET[$name]))
  3.       continue;
  4.  $_GET[$name] = $val;
  5. }
  6. unset($_POST);
  7.  

De esa manera todos los POST serán GET, si eso no es lo que buscas trata de explicarte un poco mejor para poder ayudarte.

Este tema debería ir en PHP.

Saludos!


Título: Re: Pasar siempre informacion por GET
Publicado por: XafiloX en 6 Agosto 2009, 10:52 am
No lo he puesto en PHP porque a lo mejor la solucion se podia hacer por javascript, pero bueno, da = ...

A lo que me refiero es a alguna forma de mandar siempre una informacion por GET, sin tener que utilizar ningun formulario... Es decir, que siempre me añada, por ejemplo, ?user=1 a todas las direcciones en las que haga click desde esa pagina...


Título: Re: Pasar siempre informacion por GET
Publicado por: OzX en 6 Agosto 2009, 20:28 pm

prova con

print_r($_REQUEST);


Asi parametros que pases POST, o GET, php lo capturara.


Saludos¡


Título: Re: Pasar siempre informacion por GET
Publicado por: SnakeDrak en 6 Agosto 2009, 21:45 pm
Hola,

Con mod_rewrite en htaccess puedes hacerlo, aunque no entiendo mucho que quieres hacer:

Código
  1. RewriteRule ^(.*)$ ./archivo.php?user=1 [L]
  2.  

Con eso cualquier dirección contendría la variable GET user con valor 1, ahora sino puedes hacer:

Código
  1. <a href="/archivo.php?user=1">Link</a>

¿Qué quieres lograr con esto? tal vez te entienda mejor si me explicas para qué lo vas a usar.

Saludos!


Título: Re: Pasar siempre informacion por GET
Publicado por: XafiloX en 6 Agosto 2009, 22:56 pm
Pues es que yo tengo un juego online y lo estoy modificando para, con los mismos archivos, poder tener varias partidas funcionando sin tener que hacer una carpeta por cada partida...y la solucion era pasando por GET el id de la partida...

Gracias por la ayuda  ;)


Título: Re: Pasar siempre informacion por GET
Publicado por: SnakeDrak en 7 Agosto 2009, 17:32 pm
Hola,

Para eso usa sesiones o cookies: http://es.php.net/manual/en/book.session.php

Haces que cuando el usuario entre elija un servidor o que lo elija una sola vez, ejemplo ./acceso.php?servidor=1

Código
  1. if(isset($_GET['servidor']))
  2.        $_SESSION['servidor'] = $_GET['servidor'];
  3.  

Una vez que haya accedido en cualquier web que pongas session_start tendrás el número del servidor, hasta lo que dure la sesión:
Código
  1. echo "Estás en el servidor ".$_SESSION['servidor'];
  2.  

Mírate unas guías sobre las sesiones, también puedes hacerlo por cookies:

Código
  1. if(isset($_GET['servidor']))
  2.       setcookie("servidor", $_GET['servidor'], time()+3600);  // expira en 1 hora
  3.  

Y luego para leerla:

Código
  1. echo "Estás en el servidor ".$_COOKIE['servidor'];
  2.  

http://es.php.net/manual/en/function.setcookie.php

Ojalá te sea de ayuda.

Saludos!