Foros del Web » Programando para Internet » PHP »

set_cookie & session_start pueden compartir un mismo archivo?

Estas en el tema de set_cookie & session_start pueden compartir un mismo archivo? en el foro de PHP en Foros del Web. set_cookie & session_start pueden compartir el mismo script de php? Si se escribe el código así en la página inicial (archivo1.php): <?PHP //se crea cookie ...
  #1 (permalink)  
Antiguo 06/12/2007, 21:51
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 13 años, 11 meses
Puntos: 0
set_cookie & session_start pueden compartir un mismo archivo?

set_cookie & session_start pueden compartir el mismo script de php?

Si se escribe el código así en la página inicial (archivo1.php):

<?PHP
//se crea cookie para posteriormente validar si cliente acepta cookies...
$verif="1";
setcookie("verif",$verif);

// se inicia sesion/o llamamos sesion existente...
session_start();

include_once (dirname(__FILE__). "/../cliente.inc.php
$cliente= new DBcliente();
$cliente->connect();
$cliente->id=$_GET["clienteid"];
$cliente->find();

//se crea variable de sesión que en posteriores archivos será llamada para búsquedas en la Base de Datos....
$_SESSION['_clienteid']=$cliente->id;
//sigue el código....
?>

Caso igual sucedería con la página de recibo (archivo2.php):

<?PHP
//validamos si el cliente acepta cookies, si no acepta, no le permitimos el ingreso al sitio web......
if ($_COOKIE["verif"]!=1) {
?>
<script language="JavaScript" type="text/javascript">
alert("!!!SU COMPUTADOR NO ACEPTA EL USO DE COOKIES Y ÉSTAS SE REQUIEREN PARA VISUALIZAR ÉSTE SITIO!!!");
window.location.replace(
"nocookies.php");
</script>
<?PHP
}
?>
<?PHP

//si el cliente acepta cookies, llamamos la sesión existente.....
session_start();
include_once (dirname(__FILE__). "/../cliente.inc.php

//buscamos el registro del cliente...
$cliente= new DBcliente();
$cliente->connect();
$cliente->id=$_SESSION['_clienteid'];
$cliente->find();
//sigue el bloque de código...

?>

Esto se puede hacer?
Genera algún tipo de conflicto?
Se inhabilita alguno de los dos (setcookie() o session_start)?
En qué posición en el script deben estar?

La idea con esto es en primer lugar validar que el cliente SI permite las cookies , pero simultaneamente crear las variables de sesión que posteriormente van a usarse para llamar datos de éste cliente en la Base de Datos....

Miguel Angel

Última edición por miguelangelb; 07/12/2007 a las 08:15
  #2 (permalink)  
Antiguo 07/12/2007, 08:14
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 13 años, 11 meses
Puntos: 0
Re: set_cookie & session_start pueden compartir...

La idea de hacer la validación del uso de cookies y la verificación del usuario se hacen en sólo estos dos archivos (scripts de php) , es de optimizar y manejar la menor cantidad de archivos tipo php para el todo el sitio WEB.

Miguel Angel
  #3 (permalink)  
Antiguo 07/12/2007, 09:04
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
Re: set_cookie & session_start pueden compartir un mismo archivo?

Set_cook¡e y session_start se pueden usar juntas sin ningun problema, ahora estas deben de estar ANTES de cualquier salida en HTML, y las cookies solo esta disponibles hasta DESPUES de recargar la pagina, es decir, esto no sirve:
Código PHP:
set_cookie"mycookie""algo" );

$valor $_COOKIES['mycookie']; 
Ya que la cookie mycookie solo va a existir hasta despues de recargar la pagina.

Saludos.
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 00:04.