
- PHP - Home
- PHP - Roadmap
- PHP - Introduction
- PHP - Installation
- PHP - History
- PHP - Features
- PHP - Syntax
- PHP - Hello World
- PHP - Comments
- PHP - Variables
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ and $$ Variables
- PHP - Constants
- PHP - Magic Constants
- PHP - Data Types
- PHP - Type Casting
- PHP - Type Juggling
- PHP - Strings
- PHP - Boolean
- PHP - Integers
- PHP - Files & I/O
- PHP - Maths Functions
- PHP - Heredoc & Nowdoc
- PHP - Compound Types
- PHP - File Include
- PHP - Date & Time
- PHP - Scalar Type Declarations
- PHP - Return Type Declarations
- PHP - Operators
- PHP - Arithmetic Operators
- PHP - Comparison Operators
- PHP - Logical Operators
- PHP - Assignment Operators
- PHP - String Operators
- PHP - Array Operators
- PHP - Conditional Operators
- PHP - Spread Operator
- PHP - Null Coalescing Operator
- PHP - Spaceship Operator
- PHP Control Statements
- PHP - Decision Making
- PHP - If…Else Statement
- PHP - Switch Statement
- PHP - Loop Types
- PHP - For Loop
- PHP - Foreach Loop
- PHP - While Loop
- PHP - Do…While Loop
- PHP - Break Statement
- PHP - Continue Statement
- PHP Arrays
- PHP - Arrays
- PHP - Indexed Array
- PHP - Associative Array
- PHP - Multidimensional Array
- PHP - Array Functions
- PHP - Constant Arrays
- PHP Functions
- PHP - Functions
- PHP - Function Parameters
- PHP - Call by value
- PHP - Call by Reference
- PHP - Default Arguments
- PHP - Named Arguments
- PHP - Variable Arguments
- PHP - Returning Values
- PHP - Passing Functions
- PHP - Recursive Functions
- PHP - Type Hints
- PHP - Variable Scope
- PHP - Strict Typing
- PHP - Anonymous Functions
- PHP - Arrow Functions
- PHP - Variable Functions
- PHP - Local Variables
- PHP - Global Variables
- PHP Superglobals
- PHP - Superglobals
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP File Handling
- PHP - File Handling
- PHP - Open File
- PHP - Read File
- PHP - Write File
- PHP - File Existence
- PHP - Download File
- PHP - Copy File
- PHP - Append File
- PHP - Delete File
- PHP - Handle CSV File
- PHP - File Permissions
- PHP - Create Directory
- PHP - Listing Files
- Object Oriented PHP
- PHP - Object Oriented Programming
- PHP - Classes and Objects
- PHP - Constructor and Destructor
- PHP - Access Modifiers
- PHP - Inheritance
- PHP - Class Constants
- PHP - Abstract Classes
- PHP - Interfaces
- PHP - Traits
- PHP - Static Methods
- PHP - Static Properties
- PHP - Namespaces
- PHP - Object Iteration
- PHP - Encapsulation
- PHP - Final Keyword
- PHP - Overloading
- PHP - Cloning Objects
- PHP - Anonymous Classes
- PHP Web Development
- PHP - Web Concepts
- PHP - Form Handling
- PHP - Form Validation
- PHP - Form Email/URL
- PHP - Complete Form
- PHP - File Inclusion
- PHP - GET & POST
- PHP - File Uploading
- PHP - Cookies
- PHP - Sessions
- PHP - Session Options
- PHP - Sending Emails
- PHP - Sanitize Input
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash Messages
- PHP AJAX
- PHP - AJAX Introduction
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML
- PHP - XML Introduction
- PHP - Simple XML Parser
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Login Example
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP Advanced
- PHP - MySQL
- PHP.INI File Configuration
- PHP - Array Destructuring
- PHP - Coding Standard
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Try…Catch
- PHP - Bugs Debugging
- PHP - For C Developers
- PHP - For PERL Developers
- PHP - Frameworks
- PHP - Core PHP vs Frame Works
- PHP - Design Patterns
- PHP - Filters
- PHP - JSON
- PHP - Exceptions
- PHP - Special Types
- PHP - Hashing
- PHP - Encryption
- PHP - is_null() Function
- PHP - System Calls
- PHP - HTTP Authentication
- PHP - Swapping Variables
- PHP - Closure::call()
- PHP - Filtered unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - Expectations
- PHP - Use Statement
- PHP - Integer Division
- PHP - Deprecated Features
- PHP - Removed Extensions & SAPIs
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI Process
- PHP - PDO Extension
- PHP - Built-In Functions
PHP Network setcookie() Function
The PHP Network setcookie() function is used to send cookies to a user's browser. A cookie is a small piece of data that is saved on the user's computer and is generally used to store information between web pages or sessions. Before sending any output from your PHP script (like HTML or text), you have to call setcookie(). This makes sure the cookie is transmitted along with the HTTP headers.
To set a cookie, you have to give a name and a value. For example, if the cookie's name is "user", you can get its data in PHP by calling $_COOKIE['user']. Cookies can be deleted when the browser is closed or after a certain amount of time. To specify the expiry time, add seconds to the current time.
Cookies can also be limited to a specific path or domain. For example, you can limit the availability of a cookie to a specific section of your site. If the secure option is set to true, the cookie will only be delivered over HTTPS. This makes everything safer.
You can use the httponly option to prevent JavaScript from reading the cookie, which solves several security issues. Starting with PHP 7.3, cookies can be defined using a variety of options, including an additional samesite option for greater security.
Syntax
Below is the syntax of the PHP Network setcookie() function −
bool setcookie( string $name, string $value = "", int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false )
Alternative signature:
bool setcookie ( string $name, string $value = "", array $options = [] )
Parameters
Here are the parameters of the setcookie() function −
$name − (Required) It is the name of the cookie.
$value − (Optional) It is the value to store in the cookie.
$expires_or_options − (Optional) It is the time the cookie expires (in Unix timestamp format).
$path − (Optional) It is the path on the server where the cookie is available.
$domain − (Optional) It is the domain where the cookie is available.
$secure − (Optional) If it is set to true, the cookie only sent over HTTPS.
$httponly − (Optional) If true, the cookie is accessible only via HTTP (not JavaScript).
$options − (Optional) It is an associative array to set cookie attributes, including: expires, path, domain, secure, httponly, and samesite.
Return Value
The setcookie() function returns TRUE, if the cookie is successfully set. And FALSE, if the cookie cannot be set (For example, output already sent).
PHP Version
First introduced in core PHP 4, the setcookie() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
Here is the basic example of the PHP Network setcookie() function to set cookie. So this program sets a simple cookie with a name and value. The cookie expires when the browser session will get end.
<?php // Set a cookie named "user" setcookie("user", "AmitSharma"); // Check if the cookie is set if (isset($_COOKIE['user'])) { echo "Cookie 'user' is set with value: " . $_COOKIE['user']; } else { echo "Cookie 'user' is not set."; } ?>
Output
When the cookie is being set for the first time −
Cookie 'user' is not set.
After the cookie is sent back to the server −
Cookie 'user' is set with value: AmitSharma
Example 2
In the below PHP code we will use the setcookie() function and set a cookie named 'theme' with value 'dark' that expires in one hour.
<?php // Set a cookie setcookie("theme", "dark", time() + 3600); // Display the cookie value if (isset($_COOKIE['theme'])) { echo "Cookie 'theme' is set with value: " . $_COOKIE['theme']; } else { echo "Cookie 'theme' is not set."; } ?>
Output
This will be generated when the cookie is being set −
Cookie 'theme' is not set.
This will be generated after the cookie is sent back to the server −
Cookie 'theme' is set with value: dark
Example 3
Now the below code sets a secure cookie named "session" available on the entire site with the help of the setcookie() function. And it is limited to the root directory and makes sure it is sent only over HTTPS.
<?php // Set a secure cookie setcookie("session", "active", time() + 3600, "/", "tutorialpoint.com", true); // Display the cookie value if (isset($_COOKIE['session'])) { echo "Secure cookie 'session' is set with value: " . $_COOKIE['session']; } else { echo "Secure cookie 'session' is not set."; } ?>
Output
This will create the below output when the cookie is being set −
Secure cookie 'session' is not set.
This will create this output after the cookie is sent back to the server −
Secure cookie 'session' is set with value: active