Foros del Web » Programando para Internet » PHP »

Enviar variable post DESDE PHP

Estas en el tema de Enviar variable post DESDE PHP en el foro de PHP en Foros del Web. Buenas tardes. Necesito enviar una variable POST desde PHP. Es decir, algo como esto: header('Location: mipagina.php?variable=valor'); Pero eso es en GET, y yo no quiero ...
  #1 (permalink)  
Antiguo 17/02/2008, 04:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 74
Antigüedad: 17 años, 2 meses
Puntos: 1
Enviar variable post DESDE PHP

Buenas tardes.

Necesito enviar una variable POST desde PHP. Es decir, algo como esto:

header('Location: mipagina.php?variable=valor');

Pero eso es en GET, y yo no quiero que se vea en la barra de direcciones. ¿Eso se consigue modificando un header, o algo así?

Gracias por adelantado.

Saludos.
  #2 (permalink)  
Antiguo 17/02/2008, 06:40
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Enviar variable post DESDE PHP

si conviertes en una variable de session? asi el ususario solo vera el mipagina.php y con $_SESSION[variable]="valor"; envias lo que necesites.... claro mipagina.php en ves de leer el $_POST[variable] debe leer el $_SESSION[variable]
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 17/02/2008, 06:58
 
Fecha de Ingreso: febrero-2007
Mensajes: 74
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Enviar variable post DESDE PHP

No me sirve. Lo que necesito es pasar la variable POST. Resulta que con cookies todo sería más fácil, pero estoy haciendo todo suponiendo que el usuario las tenga deshabilitadas. Y la id de sesión sólo se propaga por la URL o por una cookie.

Después de darle vueltas, esa es la unica solución que he visto, enviar una variable POST desde una páina PHP a otra página PHP.

Saludos.
  #4 (permalink)  
Antiguo 17/02/2008, 08:29
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 10 meses
Puntos: 4
Re: Enviar variable post DESDE PHP

Si lo que se quiere es ocultar el valor que se envia se podria mostrar en la barra de direcciones pero con algun tipo de codificacion como por ejemplo:

- Base64_encode();

o algo asi. De esta forma el usuario no entiende que se envia.

Otra opcion si la otra pagina es suya es hacerle un include .

O la otra seria enviar la peticion por medio de CURL.

Espero que alguna os sirva
  #5 (permalink)  
Antiguo 17/02/2008, 09:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 74
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Enviar variable post DESDE PHP

Pues... lo cierto es que nada de eso me sirve.

En realidad, puedo hacerlo perfectamente utilizando una variable GET, porque lo que voy a enviar es algo así como el ID de una sesión. Lo que pasa es que me parece antiestético que se vea:

www.mipagina.com/?id=3fc8ea9017c92e6b1...

Verán, creo que se entendería mejor si explico un poco más de qué va el tema:

Estoy empezando un juego on-line escrito en AJAX+PHP. El juego se carga completamente en "index.php", y a partir de ahi se comunica con el servidor a través de AJAX. Hasta ahi lo llevo bien, al menos el concepto. Pero habrá un panel de opciones, donde el usuario podrá cambiar las skin del juego. Entonces, habría que cargar el juego desde el inicio, recargar la página, en una palabra. Pero al recargar, si el usuario tiene las cookies deshabilitadas, de "desloguearía". Por eso me gustaría poder enviar una variable de un script PHP a otro, sin tener que ensuciar la URL con una secuencia incoherente de números y letras.

He probado con esto:
prueba.php
Código PHP:
<?php
header
('id: hola');
header('Location: mipagina.php');
?>
mipagina.php
Código PHP:
<?php
function Head() {
   
$array headers_list();
   for(
$i=0$i<count($array); $i++) {
      if(
$array[$i] == 'id: hola') {
         return 
true;
      }
   }
   return 
false;
}

if(
Head()) {
   echo 
"La variable existe, procediendo a cargar el juego";
} else {
   echo 
"Bienvenido al juego";
}
?>
Pero me pone que la variable no existe. Los "headers" se borran alcambiar de página con header(Location: ...).

A ver si hay alguna solución, muchas gracias por el interés.

Saludos.
  #6 (permalink)  
Antiguo 17/02/2008, 20:04
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Enviar variable post DESDE PHP

Rudy_Guillen:
Talvez, lo unico que se me ocurre
es que pongas un form con un input del tipo hidden u oculto
y un boton que pida al usuario continuar.
Seria asi:
<?php
echo "<form action=\"mipagina.php\" method=\"post\">
<input name=\"control\" type=\"hidden\" value=\"Hola\">
<input type=\"submit\" name=\"submit\" value=\"CONTINUAR\"><br>
</form>";
?>
CUANDO EL USUARIO PRESIONA CONTINUAR QUE SERA
LO UNICO QUE PODRA VER DE ESTA FORM, SE PASA
LA VARIABLE "HOLA" VIA POST AL ARCHIVO mipagina.php
Y LA RECIBES EN mipagina.php ASI:
$variableclave = $_POST['control'];
Asimismo, "hola" puede ser una variable (Ejemplo $hola) que provenga de cualquier otro
archivo o aun de una base de datos!!!.
Saludos
Y espero pueda ayudarte
Saludos
Franco
  #7 (permalink)  
Antiguo 17/02/2008, 20:38
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Enviar variable post DESDE PHP

No sé hasta qué punto te sea útil. Nunca lo probé así, pero una opción es usando sockets. Para ello, debes tenerlos habilitados. Date una vuelta por estos links:

http://www.latindevelopers.com/forum/viewtopic.1168.html#p2800
http://www.php-hispano.net/foros/PHP/12852

http://www.php.net/manual/es/function.fsockopen.php#68616
http://www.php.net/manual/es/function.fsockopen.php#49938

Cita:
Iniciado por konrad dot meyer at gmail dot com en PHP.net
The documentation example is of a GET request. I have found POST documentation to be lacking, and here's a function to easily simulate submitting form data:

Código PHP:
<?php
# $host includes host and path and filename
    # ex: "myserver.com/this/is/path/to/file.php"
# $query is the POST query data
    # ex: "a=thisstring&number=46&string=thatstring
# $others is any extra headers you want to send
    # ex: "Accept-Encoding: compress, gzip\r\n"
function post($host,$query,$others=''){
    
$path=explode('/',$host);
    
$host=$path[0];
    unset(
$path[0]);
    
$path='/'.(implode('/',$path));
    
$post="POST $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n${others}User-Agent: Mozilla 4.0\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n$query";
    
$h=fsockopen($host,80);
    
fwrite($h,$post);
    for(
$a=0,$r='';!$a;){
        
$b=fread($h,8192);
        
$r.=$b;
        
$a=(($b=='')?1:0);
    }
    
fclose($h);
    return 
$r;
}
?>
Un saludo,
  #8 (permalink)  
Antiguo 18/02/2008, 02:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: Enviar variable post DESDE PHP

prueba con iframes, d ese modo el usuario solo vera index.php y en los iframes le cargaran lo q tu quieras
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 23:37.