Bird
Raised Fist0
PHPprogramming~5 mins

Session vs cookie decision in PHP - Quick Revision & Key Differences

Choose your learning style10 modes available
Recall & Review
beginner
What is a session in PHP?
A session in PHP is a way to store data on the server for a user to use across multiple pages. It keeps user information safe and private during their visit.
Click to reveal answer
beginner
What is a cookie in PHP?
A cookie is a small piece of data stored on the user's browser. It helps remember information like login or preferences even after the browser is closed.
Click to reveal answer
intermediate
When should you use a session instead of a cookie?
Use a session when you need to store sensitive data securely on the server or when data should not be visible or modifiable by the user.
Click to reveal answer
beginner
What are the size limits for cookies?
Cookies are limited to about 4KB of data per cookie, so they are not suitable for storing large amounts of information.
Click to reveal answer
intermediate
How does a session maintain user state differently from a cookie?
A session stores data on the server and uses a session ID cookie to link the user. Cookies store all data on the user's browser directly.
Click to reveal answer
Which of the following stores data on the server side?
ALocal Storage
BCookie
CSession
DURL Parameters
What is the typical size limit for a cookie?
A4KB
B1MB
C100KB
DNo limit
Which is safer for storing sensitive user data?
ASession
BCookie
CLocal Storage
DAll are equally safe
If you want to remember a user's preference after they close the browser, what should you use?
AServer variable
BCookie
CSession
DTemporary file
How does a session identify a user?
ABy using IP address only
BBy storing user data in the URL
CBy saving data in local storage
DUsing a session ID stored in a cookie
Explain the main differences between sessions and cookies in PHP.
Think about where data is stored and how long it lasts.
You got /4 concepts.
    Describe a scenario where using a session is better than a cookie.
    Consider when you want to keep data hidden from the user.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following is the best reason to use a PHP session instead of a cookie?
      easy
      A. To reduce server memory usage
      B. To save user preferences permanently on the browser
      C. To store sensitive user data temporarily during a visit
      D. To share data between different websites

      Solution

      1. Step 1: Understand session purpose

        Sessions store data on the server and are good for sensitive or temporary data during a visit.
      2. Step 2: Compare with cookies

        Cookies store data on the user's browser and are better for non-sensitive, longer-term data.
      3. Final Answer:

        To store sensitive user data temporarily during a visit -> Option C
      4. Quick Check:

        Session = temporary sensitive data [OK]
      Hint: Use sessions for sensitive, temporary data; cookies for long-term [OK]
      Common Mistakes:
      • Thinking cookies are safer than sessions
      • Using sessions to store permanent data
      • Confusing where data is stored
      2. Which PHP code snippet correctly starts a session?
      easy
      A.
      B.
      C.
      D.

      Solution

      1. Step 1: Recall PHP session syntax

        The correct function to start a session is session_start().
      2. Step 2: Check other options

        Other options are not valid PHP functions and will cause errors.
      3. Final Answer:

        <?php session_start(); ?> -> Option D
      4. Quick Check:

        session_start() starts session [OK]
      Hint: Remember exact function name: session_start() [OK]
      Common Mistakes:
      • Using incorrect function names
      • Forgetting parentheses
      • Confusing session_start with cookie functions
      3. What will be the output of this PHP code?
      <?php
      session_start();
      $_SESSION['user'] = 'Alice';
      setcookie('user', 'Bob', time() + 3600);
      echo $_SESSION['user'] . ' & ' . $_COOKIE['user'];
      ?>
      medium
      A. Alice &
      B. Bob & Alice
      C. Alice & Alice
      D. Bob & Bob

      Solution

      1. Step 1: Understand session and cookie values

        $_SESSION['user'] is set to 'Alice'. The cookie 'user' is set to 'Bob' but will be available on the next request only.
      2. Step 2: Check echo output

        $_SESSION['user'] outputs 'Alice'. $_COOKIE['user'] is not set in this request (assuming no prior cookie), so it is empty. Output: Alice & (empty).
      3. Final Answer:

        Alice & -> Option A
      4. Quick Check:

        Session = Alice immediate, Cookie = next request [OK]
      Hint: Session changes immediate; cookie available next request [OK]
      Common Mistakes:
      • Expecting cookie value immediately after setcookie()
      • Mixing session and cookie values
      • Assuming cookie overwrites session
      4. Identify the error in this PHP code snippet:
      <?php
      setcookie('theme', 'dark');
      session_start();
      $_SESSION['theme'] = 'light';
      ?>
      medium
      A. session_start() must be called before setcookie()
      B. No error, code is correct
      C. $_SESSION cannot be set after setcookie()
      D. setcookie() must be called before any output

      Solution

      1. Step 1: Recall header rules in PHP

        Both setcookie() and session_start() send HTTP headers and must be called before any output.
      2. Step 2: Check order and output

        No output before either function. Order of setcookie() before session_start() is fine; multiple Set-Cookie headers are allowed.
      3. Final Answer:

        No error, code is correct -> Option B
      4. Quick Check:

        Headers before output, order OK [OK]
      Hint: Call setcookie() and session_start() before any output [OK]
      Common Mistakes:
      • Thinking session_start() must come before setcookie()
      • Ignoring header output rules
      • Assuming $_SESSION depends on setcookie()
      5. You want to remember a user's language preference safely for their entire visit but not after they close the browser. Which is the best choice?
      hard
      A. Store language in a session variable
      B. Store language in a cookie with 1 year expiry
      C. Store language in a cookie without expiry
      D. Store language in a hidden form field

      Solution

      1. Step 1: Understand data lifetime needs

        The language preference should last only during the visit, not after browser closes.
      2. Step 2: Match storage type to lifetime

        Sessions last until browser closes or session expires, so session variable fits. Cookies persist beyond browser close if expiry is set.
      3. Final Answer:

        Store language in a session variable -> Option A
      4. Quick Check:

        Temporary visit data = session [OK]
      Hint: Use session for visit-only data, cookie for longer storage [OK]
      Common Mistakes:
      • Using cookies for temporary visit data
      • Setting cookie without expiry expecting session behavior
      • Using hidden fields for persistent data
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard