Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2007, 21:51
miguelangelb
 
Fecha de Ingreso: enero-2006
Mensajes: 33
Antigüedad: 18 años, 3 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