Can cookies be deleted? Guide to using cookies in PHP
Summary
Cookies are a way for servers or scripts to maintain information on client workstations under the HTTP protocol. Cookies are small files saved on the user's browser by the Web server, which can contain information about the user (such as identification number, password, how the user purchases on the Web site or the number of times the user visits the site). Whenever a user connects to the server, the Web site can access the cookie information.
How to set cookies?
In PHP, you can use the setcookie function to set a cookie. Cookies are part of the HTTP headers, so the cookie function must be set before any content is sent to the browser. This restriction is the same as the header() function. Any cookie passed from the client will automatically be converted into a PHP variable. PHP obtains the information header and analyzes it, extracts the cookie name and turns it into a variable. Therefore, if you set a cookie such as setcookie("mycookie", "Cookies") php will automatically generate a variable named $mycookie with the value "Cookies".
Let’s take a look at the setcookie function syntax:
init setcookie(string CookieName,string CookieValue,int CookieExpireTime,path,domain,int secure);
Parameter description:
PATH: Indicates the directory on the web server, which defaults to the location of the called page Directory
DOMAIN: The domain name that the cookie can use, the default is the domain name of the called page. This domain name must contain two ".", so if you specify your top-level domain name, you must use ".mydomain.com" SECURE: If set to "1", it means that the cookie can only be considered safe by the user's browser Remembered by the server.
Example of cookie usage
Suppose we have such a site that requires registration, which automatically identifies the user's identity and performs related operations: if it is a registered user, send him information; if it is not already registered User, a link to the registration page is displayed.
According to the above requirements, we first create a database to save registered user information: first name, last name, email address, visit counter.
First follow the steps below to create a table:
mysql> create database users;
Query OK, 1 row affected (0.06 sec)
mysql> use users;
Database changed
l>create table info (FirstName varchar(20), LastName varchar (40), email varchar(40), count varchar(3));
Query OK, 0 rows affected (0.05 sec)
Then build a php page to check the cookies against the database.
Since PHP can convert identifiable cookies into corresponding variables, we can check a variable named "myCookies":
<? if (isset($myCookies)) { // If the cookie already exists
……
} else { //If the cookie does not exist
……
}
?>
When the cookie exists, we perform the following steps:
First get the cookie value, use the explode function to analyze it into different variables, increase the counter, and set a new cookie :
$info = explode("&", $myCookies);
……
$count++;
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("myCookies",$CookieString, time()+3600); //Set cookies
Then use html statements to output user information.
Finally, update the database with the new counter value.
If this cookie does not exist, we display a link to the registration page (register.php).
The register.php below is the user registration page:
/* register.php */
<form method="post" action="regOK.php">
First Name:<input type="text" name="FirstName ">
Last Name:<input type="text" name="LastName">
<input type="submit" value="Register">
</form>
The information filled in by the user on the register.php registration page is submitted To regOK.php:
/* regOK.php */
if ($FirstName and $LastName and $email) {
…//Query the database to see if the user exists
}
}else{
…//Error handling
}
The above program flow is as follows:
First check whether all the information is filled in as required, if not, return and re-enter
If all the information is filled in, first, we retrieve the user login details from the database
mysql_connect() or die ("Error connecting to database!");
$query="select * from info where FirstName='$FirstName' and LastName='$LastName' and email='$email'";
$result = mysql_db_query(" users", $query);
$info=mysql_fetch_array($result);
$count=$info["count"];
Check if the database has such a user, if so, it specifies the old information and uses the current one Information creates a new cookie. If the same user does not have a database login, create a new database login and create a new cookie.
Now use the isset() function to check whether the user has a counter. If so, the counter will be increased and a new cookie will be created:
$count++; //Increase the counter
$CookieString=$FirstName.'&'.$LastName.'&' .$email.'&'.$count;
SetCookie ("myCookies",$CookieString, time()+3600);
If there is no user counter, add a record in mysql and set a cookie
Note: Call There should be no data output to the browser before the setcookie function, otherwise an error will occur.
How to implement cross-domain cookies?
According to the cookie specification, a cookie can only be used for one domain name. Therefore, if a cookie is set for a domain name in the browser, the cookie will be invalid for other domain names.
Let’s talk about a cross-domain cookie implementation plan:
Step 1: Create a preset script
Add the following code to the preset script (or appear in the function before all scripts).
<?php
/*If the GET variable has been set and it is different from the cookie variable
*Use the get variable (update cookie)
*/
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS;
if (isset($s sessionid) && isset($HTTP_GET_VARS['sessionid']) && ($HTTP_COOKIE_VARS['sessionid'] != $HTTP_GET_VARS['sessionid'])) {
SetCookie('sessionid', $HTTP_GET_VARS['sessionid'], 0, '/ ', '');
$HTTP_COOKIE_VARS['sessionid'] = $HTTP_GET_VARS['sessionid'];
After this code is run, a global variable' sessionid' will be available for scripts. It will save the sessionid value in the user's cookie, or the sessionid value sent through a GET request.
Step 2: Use variables for all cross-domain name references
Create a global configuration file to store the basic reference form of domain names that can be switched. For example, if we have domain1.com and domain2.com, the following settings:
<?php
$domains['domain1'] = "http://www.domain1.com/-$sessionid-";
$domains ['domain2'] = "http://www.domain2.com/-$sessionid-"; We write this code: ['domain2'], "/contact/?email=yes">here to contact us.";
?>
The above code will produce the following output:
Click <a href="http:/ /www.domain2.com/-66543afe6543asdf6asd-/contact/?email=yes">here</a> to contact us.
Here the sessionid has been inserted into the URL.
Step 3: Configure Apache
Now, let’s configure Apache to rewrite this URL.
We need to change
http://www.domain2.com/-66543afe6543asdf6asd-/contact/
into this:
http://www.domain2.com/contact/?sessi
And this url:
http: //www.domain2.com/-66543afe6543asdf6asd-/contact/?email=yes
It becomes like this:
http://www.domain2.com/contact/?email=yes&sessi
In order to achieve the above requirements, simply configure Two virtual servers, as domain1 and domain2, operate as follows:
<VirtualHost ipaddress>
DocumentRoot /usr/local/www/domain1
ServerName www.domain1.com
RewriteEngine
RewriteRule ^/- (.*)-(. * .
ServerName www. domain2.com
RewriteEngine on
RewriteRule ^/-(.*)-(.*?.*)$ $2&sessi
RewriteRule ^/-(.*)-(.*)$ $2?sessi
</VirtualHost>
These rewriting rules implement the above two URL rewriting requirements.
The above has introduced the guide for using cookies in PHP, including whether cookies can be deleted. I hope it will be helpful to friends who are interested in PHP tutorials.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Long URLs, often cluttered with keywords and tracking parameters, can deter visitors. A URL shortening script offers a solution, creating concise links ideal for social media and other platforms. These scripts are valuable for individual websites a

Following its high-profile acquisition by Facebook in 2012, Instagram adopted two sets of APIs for third-party use. These are the Instagram Graph API and the Instagram Basic Display API.As a developer building an app that requires information from a

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

This is the second and final part of the series on building a React application with a Laravel back-end. In the first part of the series, we created a RESTful API using Laravel for a basic product-listing application. In this tutorial, we will be dev

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

The 2025 PHP Landscape Survey investigates current PHP development trends. It explores framework usage, deployment methods, and challenges, aiming to provide insights for developers and businesses. The survey anticipates growth in modern PHP versio
