Cita:
Iniciado por Italico76
Es mejor vea Ud que le conviene, el tema es un poco mas complejo de lo que recordaba (que pena!)
Considerandos:
1) Es cierto que podria provenir un id=0 de una base de datos aunque no es lo mas comun porque los id autoincrementales empiezan de 1
2) Siempre hay definido un id ($_SESSION['id']=0) en variables de session
En el siguiente codigo de pruebas que le prepare, si el ID=0 y fuera eso correcto (asi estuviera en la DB)..vea que pasa:
Código PHP:
<?php
session_start();
/*
Investigar:
caso 1) session : [undefined]
caso 2) session : id=0
caso 3) session : id>0
*/
$_SESSION['id']=0;
if (isset($_SESSION['id'])){
echo 'Ingreso con isset()';
var_dump($_SESSION);
}else
echo 'Acceso denegado con isset()';
if (!empty($_SESSION['id'])){
echo 'Ingreso con !empty()';
var_dump($_SESSION);
}else
echo 'Acceso denegado con !empty()';
Hola es cierto. Quedamos con isset() aunque si la base comienza por 1 seria mas facil usar empty() ya que es mas facil asignar a la session un 0 en vez de borrar la.