Cookies help websites remember you by saving small pieces of information on your computer. This way, the website can greet you or keep you logged in next time.
Setting and reading cookies in PHP
<?php // To set a cookie setcookie('name', 'value', expire, path, domain, secure, httponly); // To read a cookie $_COOKIE['name']; ?>
setcookie must be called before any HTML output.
Only the name and value are required; others are optional.
<?php setcookie('user', 'Alice'); ?>
<?php setcookie('user', 'Alice', time() + 3600); ?>
<?php if (isset($_COOKIE['user'])) { echo 'Hello, ' . $_COOKIE['user']; } else { echo 'Hello, guest!'; } ?>
This program sets a cookie called 'visitor' with the value 'John' that lasts for one day. Then it checks if the cookie exists and greets the visitor by name. If the cookie is not set yet, it welcomes a new visitor.
<?php // Set a cookie named 'visitor' with value 'John' that expires in 1 day setcookie('visitor', 'John', time() + 86400); // Check if the cookie is set and print a greeting if (isset($_COOKIE['visitor'])) { echo "Welcome back, " . $_COOKIE['visitor'] . "!"; } else { echo "Hello, new visitor!"; } ?>
Cookies are sent with the HTTP headers, so setcookie() must be called before any output.
Cookies are stored on the user's computer and can be deleted or blocked by the user.
Use isset() to check if a cookie exists before reading it to avoid errors.
Cookies store small data on the user's computer to remember information.
Use setcookie() to create cookies and $_COOKIE to read them.
Always check if a cookie exists before using its value.
Practice
Solution
Step 1: Understand what cookies do
Cookies save small data on the user's computer to remember information like preferences or login status.Step 2: Identify the correct purpose
Among the options, only storing small data on the user's computer matches the purpose of cookies.Final Answer:
To store small pieces of data on the user's computer -> Option AQuick Check:
Cookies = store small data [OK]
- Confusing cookies with server-side code execution
- Thinking cookies connect to databases
- Assuming cookies control webpage style
user with value John in PHP?Solution
Step 1: Recall the correct function name and syntax
The PHP function to set cookies issetcookie(), which takes the cookie name and value as strings.Step 2: Check the options for correct syntax
Only setcookie('user', 'John'); uses the correct function name and quotes around name and value.Final Answer:
setcookie('user', 'John'); -> Option AQuick Check:
Use setcookie() with quoted strings [OK]
- Using wrong function names like cookie_set or set_cookie
- Not quoting the cookie name and value
- Confusing cookie setting with reading
color is set to blue?
<?php
if (isset($_COOKIE['color'])) {
echo $_COOKIE['color'];
} else {
echo 'No color set';
}
?>Solution
Step 1: Check if the cookie 'color' exists
The code usesisset()to check if$_COOKIE['color']is set. Since the cookie is set to 'blue', this condition is true.Step 2: Output the cookie value
Because the cookie exists, the code echoes its value, which is 'blue'.Final Answer:
blue -> Option DQuick Check:
Cookie exists, so output its value [OK]
- Assuming cookie is not set and printing default
- Not using isset and causing undefined index error
- Confusing cookie name with its value
session:
<?php echo $_COOKIE['session']; ?>
Solution
Step 1: Understand cookie reading best practice
Directly accessing$_COOKIE['session']without checking if it exists can cause an undefined index notice if the cookie is not set.Step 2: Identify the missing check
The code should useisset($_COOKIE['session'])before echoing to avoid errors.Final Answer:
Missing check if cookie exists before reading -> Option CQuick Check:
Always check isset() before reading cookie [OK]
- Ignoring isset() check causing warnings
- Thinking cookie names are case sensitive in $_COOKIE
- Believing cookies cannot be read in PHP
theme with value dark that expires in 7 days. Which code correctly sets this cookie?Solution
Step 1: Calculate expiration time for 7 days
7 days in seconds = 7 * 24 hours * 60 minutes * 60 seconds = 604800 seconds.Step 2: Use time() plus 7 days for expiration
The expiration parameter insetcookie()should be current time plus 604800 seconds.Step 3: Check options for correct expiration
setcookie('theme', 'dark', time() + 7 * 24 * 60 * 60); correctly usestime() + 7 * 24 * 60 * 60. setcookie('theme', 'dark', time() + 60); sets only 60 seconds, C uses 7 (invalid), D sets a past time (cookie expires immediately).Final Answer:
setcookie('theme', 'dark', time() + 7 * 24 * 60 * 60); -> Option BQuick Check:
Expire = now + 7 days in seconds [OK]
- Using small numbers like 7 or 60 instead of seconds
- Setting expiration in the past
- Forgetting to add time() to expiration
Ready to prove it?
Pass the test and this pattern moves unknown
