Foros del Web » Programando para Internet » PHP »

Pasar valor de una cookie a otra página

Estas en el tema de Pasar valor de una cookie a otra página en el foro de PHP en Foros del Web. Hola quisiera ver si me pudieran dar soporte... Tengo mi archivo cookie.php que luce como esto: Código: <!DOCTYPE html> <?php $cookie_name = "IDUserPortal"; //$cookie_value = ...
  #1 (permalink)  
Antiguo 26/07/2016, 09:47
 
Fecha de Ingreso: mayo-2016
Mensajes: 8
Antigüedad: 7 años, 11 meses
Puntos: 0
Pasar valor de una cookie a otra página

Hola quisiera ver si me pudieran dar soporte...

Tengo mi archivo cookie.php que luce como esto:

Código:
<!DOCTYPE html>
<?php
$cookie_name = "IDUserPortal";
//$cookie_value = "Value"; 
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "https://oet.itesm.mx/portal/page/portal/OET/Publica?p_iPortal=3");
?>
<html>
<body>
<?php
     echo $_COOKIE[$cookie_name];
?>
</body>
</html>
En pantalla sólo me imprime mi IDUserPortal (que es lo mismo que la cookie) al ingresar al portal https://oet.itesm.mx/portal/page/portal/OET/Publica?p_iPortal=3

Y del otro lado tengo este otro código index.php que tiene la función de Single Sign On

Código:
<?php
//require_once dirname(__FILE__).'/functions.jsconnect.php';
require('functions.jsconnect.php');
require_once("lib/nusoap.php");
//require('webservice.php');

// 1. Get your client ID and secret here. These must match those in your jsConnect settings.
$clientID = "xxx";
$secret = "xxx";

// 2. Grab the current user from your session management system or database here.
$signedIn = true; // this is just a placeholder

// YOUR CODE HERE.

// 3. Fill in the user information in a way that Vanilla can understand.
$user = array();

if ($signedIn) {
   // CHANGE THESE FOUR LINES.
$cliente = new nusoap_client("https://oet.itesm.mx/portalOETWS/PortalOETWebService?wsdl");
//$usuario = "0B0430A112F46B62F8B583F89C9B3C29"; <-- Esta es mi cookie que utilizo para iniciar sesión
$cveapp = "mapa_mexico_2015";
$parametros = array ('pVusuarioenc'=>$usuario,'cveapp'=>$cveapp);
$respuesta = $cliente->call("validausuario",$parametros);
$user['uniqueid'] = $respuesta['pvatributo1Out'];
$user['name'] = $respuesta['pvatributo3Out'].$respuesta['pvatributo4Out'];  
$user['email'] = $respuesta['pvatributo6Out'];
}

// 4. Generate the jsConnect string.

// This should be true unless you are testing. 
// You can also use a hash name like md5, sha1 etc which must be the name as the connection settings in Vanilla.
$secure = 'sha1'; 
WriteJsConnect($user, $_GET, $clientID, $secret, $secure);
JsSSOString($user, $clientID, $secret);
Lo que yo quiero saber es
1) Cómo puedo pasar el valor de $cookie_name (cookie.php) hacia index.php específicamente dentro de if ($signedIn) { ?
2) Intenté pegar todo el código de cookie.php en Index.php y no me arrojó resultados
  #2 (permalink)  
Antiguo 26/07/2016, 10:18
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Pasar valor de una cookie a otra página

Puedes recuperar el valor de la cookie con $_COOKIE['IDUserPortal'] siempre y cuando la cookie haya sido creada con anterioridad y no haya expirado.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 26/07/2016, 10:34
 
Fecha de Ingreso: mayo-2016
Mensajes: 8
Antigüedad: 7 años, 11 meses
Puntos: 0
Respuesta: Pasar valor de una cookie a otra página

Cita:
Iniciado por xerifandtomas Ver Mensaje
Puedes recuperar el valor de la cookie con $_COOKIE['IDUserPortal'] siempre y cuando la cookie haya sido creada con anterioridad y no haya expirado.
Sí, lo que entiendo es que debo de mandar a llamar $_COOKIE['IDUserPortal'] desde index.php

Algo así
Código:
if ($signedIn) {
   // CHANGE THESE FOUR LINES.
$cliente = new nusoap_client("https://oet.itesm.mx/portalOETWS/PortalOETWebService?wsdl");
//$usuario = "0B0430A112F46B62F8B583F89C9B3C29";
$usuario = $_COOKIE['IDUserPortal'];
$cveapp = "mapa_mexico_2015";
$parametros = array ('pVusuarioenc'=>$usuario,'cveapp'=>$cveapp);
$respuesta = $cliente->call("validausuario",$parametros);
$user['uniqueid'] = $respuesta['pvatributo1Out'];
$user['name'] = $respuesta['pvatributo3Out'].$respuesta['pvatributo4Out'];  
$user['email'] = $respuesta['pvatributo6Out'];
}
Pero lo que no entiendo es donde pongo esto?
<?php
$cookie_name = "IDUserPortal";
//$cookie_value = "Value";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "https://oet.itesm.mx/portal/page/portal/OET/Publica?p_iPortal=3");
?>

Aclaro... en cookie.php si puedo ver mi cookie, pero lo que ocupo es que la variable $usuario que está en index.php reconozca ese valor de la cookie para que pueda hacer el inicio de sesión de single sign on

Gracias por tus sugerencias
  #4 (permalink)  
Antiguo 26/07/2016, 10:44
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Pasar valor de una cookie a otra página

Desconozco la estructura que estas armando, igualmente tu código seria más legible si utilizase el HIGHLIGHT adecuadamente.

El archivo cookie.php , debería ser llamado cuando se necesario crear o actualizar la cookie. Donde va? Pues yo que se. Si requieres crear la cookie en index.php o en login.php o en cualquier otro lugar que sea necesario.

No se a que hace referencia la cookie si es a un identificador que extraes de la base de datos cuando un usuario se logea o uno que generas aleatoriamente la primera vez que un usuario accede al sitio o en que caso debe ser creada.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 26/07/2016, 10:49
 
Fecha de Ingreso: mayo-2016
Mensajes: 8
Antigüedad: 7 años, 11 meses
Puntos: 0
Respuesta: Pasar valor de una cookie a otra página

Cita:
No se a que hace referencia la cookie si es a un identificador que extraes de la base de datos cuando un usuario se logea
Sí, efectivamente es eso. La cookie se genera dinámicamente por cada usuario que se logea
  #6 (permalink)  
Antiguo 26/07/2016, 10:55
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Pasar valor de una cookie a otra página

Pues si es así, en el mismo archivo que válida el login del usuario podría ser creada si la validación es correcta.

Sólo debes de tener lo siguiente en consideración :
Cita:
Las cookies son parte de la cabecera HTTP, por lo que setcookie() será invocada antes de enviar cualquier otra salida al navegador. Esta es la misma limitación que tiene la función header(). Se pueden utilizar las funciones del búfer de salida para retrasar la salida del script hasta que se haya decidido si establecer o no alguna cookie o enviar cualquier otra cabecera.
__________________
Unset($vida['malRollo']);

Etiquetas: cookie
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 18:44.