Realmente Marcelo, o Carlos está correto.
Uma pequena revisão sobre constantes:
<?php
define('EMAIL', 'teste@email.com.br');
echo EMAIL;
O código acima vai escrever "teste@email.com.br", dado que a constante EMAIL foi definida e depois impressa.
Imagine outro arquivo agora:
<?php
echo EMAIL;
A saída desse script é a seguinte:
PHP Notice: Use of undefined constant EMAIL - assumed 'EMAIL' in Command line code on line 1
EMAIL
Então repare que o PHP cospe um erro dizendo que não achou a constante EMAIL (notice). Por ser um notice a execução do script não é interrompida. Repare também que o próprio erro que o PHP cospe diz o seguinte: Vou assumir que você quis imprimir uma string 'EMAIL'
(repare nos apóstrofos).
Logo, seguindo o seu exemplo, o uso de $email
colocaria o valor que está dentro da variável $email
no cookie, enquanto que email
somente (sem o dólar) cairia no problema que descrevi aqui (a única diferença é que meu exemplo foi em maiúsculo, porque constantes tem a convenção de serem escritas em maiúsculo - mas não é obrigatório). Portanto, sem o dólar o cookie será salvo, como o Carlos disse, com 'email'
ao invés do email que está vindo dentro da função por meio da variável $email
.