2011-05-02 8 views

Respuesta

35

Uso isset para ver si existe la cookie.

if(isset($_COOKIE['cookie'])){ 
    $cookie = $_COOKIE['cookie']; 
} 
else{ 
    // Cookie is not set 
} 
5

Según sus necesidades.

// If not set, $cookie = NULL; 
if (isset($_COOKIE['cookie'])) { $cookie = $_COOKIE['cookie']; } 

o

// If not set, $cookie = ''; 
$cookie = (isset($_COOKIE['cookie'])) ? $_COOKIE['cookie'] : ''; 

o

// If not set, $cookie = false; 
$cookie = (isset($_COOKIE['cookie'])) ? $_COOKIE['cookie'] : false; 

Referencias:

+0

La respuesta ha sido editada para cubrir 3 posibles motivos. – Shoe

+1

El primero solo lo cambia de un índice de matriz indefinido a una variable no definida, y usted ha vuelto a poner el OP en el punto uno. –

+0

@Marc B, no. Simplemente establece '$ cookie' o no. El OP nunca dijo que volverá a usar '$ cookie'. – Shoe

3

Prueba esto:

$cookie = isset($_COOKIE['cookie'])?$_COOKIE['cookie']:''; 
//checks if there is a cookie, if not then an empty string 
12

Usted puede usar para este propósito array_key_exists de la siguiente manera:

$cookie = array_key_exists('cookie', $_COOKIE) ? $_COOKIE['cookie'] : null; 
+7

¡Yay! Un voto negativo anónimo sin explicación, qué útil. :-) –

+0

¡Buena alternativa al enfoque habitual de isset()! – Nereare

Cuestiones relacionadas