1 2 3 4 5 6 | Первый и второй аргумент функции, name и value передается непосредсвенно функией SetCookie. Третий аргумент может иметь одно из следующий значений: аргумент не указан (или ноль), куки будут установленны для текущей сессии, и будут не действительны после закрытия браузера; положительное число. Количество дней; аргумент начинается с буквы 'f' (forever), куки будут установленны на всегда; аргумент начинается с буквы 'r' (remove), установленный куки будут удалены. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <?php function put_cookie( $name , $value , $days =0) { $cookie_host = preg_replace( '|^www\.(.*)$|' , '.\\1' , $_SERVER [ 'HTTP_HOST' ]); if ( substr ( strval ( $days ), 0, 1) == 'f' ) $exp = 2147483640; else if ( substr ( strval ( $days ), 0, 1) == 'r' ) { $exp = 1; $value = '' ; } else if ( $days != 0) $exp = time() + intval ( $days )*86400; else $exp = 0; setcookie( $name , $value , $exp , '/' , $cookie_host ); } ?> code: #php <?php error_reporting (E_ALL); // high level of error reporting // copy-paste function ae_put_cookie here from above if ( strtolower ( $_SERVER [ 'REQUEST_METHOD' ]) == 'post' ) { if (isset( $_POST [ 'notepad' ])) { $days = isset( $_POST [ 'days' ])? $_POST [ 'days' ]: '' ; put_cookie( 'notepad' , $_POST [ 'notepad' ], $days ); } } ?> <html><head><title>CookieNotepad</title></head> <body> <?php if (!isset( $_COOKIE [ 'notepad' ])) echo "<b>Cookie for notepad is not set</b><br>" ; ?> <form action= "<?=$_SERVER['PHP_SELF']?>" method= "post" > Text:<br> <textarea rows= "10" cols= "60" name= "notepad" > <?php if (isset( $_COOKIE [ 'notepad' ])) { // escape HTML tags and entities $s = str_replace ( '&' , '&' , $_COOKIE [ 'notepad' ]); $s = str_replace ( '<' , '<' , $s ); $s = str_replace ( '>' , '>' , $s ); echo $s ; } ?></textarea> <br> Third argument for put_cookie:<br> <input type= "text" name= "days" size= "10" ><br> ( empty - session cookie, 'f' - forever, 'r' - remove, integer > 0 - number of days in future) <br><br> <input type= "submit" value= "create/save" > </form> </body> </html> |