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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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











PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.
