1. По дефалту РНР, обрабатывая конструкцию $res[pass], ищет константу с именем pass, а затем уж "понимает", что это строка. Это не ошибка, но так все равно делать не стоит - обрабатывается чуть дольше (софффсем чуть-чуть, но иногда это критично), загаживает логи, да и код читать сложнее. Используй $res['pass'] и все будет гут.
2. До установки кукисов скрипт не должен выводить в браузер НИЧЕГО. Т.е. кукисы нужно устанавливать до тега '<html>'. Т.е.:
Код:
<html>
<body>
<?
setcookie('pa',$res[pass],time()+3600);
// НЕ РАБОТАЕТ
?>
Hello world
</body>
</html>
Код:
<?
setcookie('pa',$res[pass],time()+3600);
// А так все нормально
?>
<html>
<body>
Hello world
</body>
</html>
Более того, даже пробела перед <? быть не должно. Собно, в мануале об этом сказано:
Цитата:
|
Cookies must be sent before any other headers are sent (this is a restriction of cookies, not PHP). This requires you to place calls to this function before any <html> or <head> tags.
|