


Getting Started with PHP - Detailed Explanation of Basic Knowledge_PHP Tutorial
- Custom variable
a. No need to indicate the data type
b.Add '$'
c. Begins with an underscore or letter
Use meaningful words
-Congruent
a.===
b. Determine the size and type
-Array
Create array method
a.array("key"=>"value")
b.array[]=value;
c.explode(separator,string);
Commonly used functions
a.count //Count the number of array items
b.is_array //Determine whether it is an array
Traversing the array
Foreach($arr as $key=>$value)
Description: Pointer jump, automatic loop, assignment in sequence
-Flow control character
a. break
break n
B. Continue // End this cycle
c. return
exit
e. The difference between return and exit: See picture
Picture: Figure 2-1.JPG
3. Function
a.Y represents the complete year represented by 4 digits
b.m The month represented by the number, with leading zeros
c.d The day of the month, a 2-digit number with leading zeros
d.G Hour, 24-hour format, no leading zeros
e. i Number of minutes with leading zeros
f. s seconds with leading zeros
Note: If the time you display is different from the time displayed on the computer, that is, there is a difference of 8 hours, you can change it in php.ini
Date.timezone = "PRC" //PRC represents the People's Republic of China
-time() //Returns the current Unix timestamp, which is a string of numbers
Example: $nextWeek=time()+(7*24*60*60);//7 days, 24 hours, 60 minutes, 60 seconds
echo $nextWeek."
";
echo 'now: '.date("Y-m-d")."n";
echo 'Next Week: '.date("Y-m-d",$nextWeek);
date (format character, timestamp)
1. Output the given timestamp in the given format
2. If the timestamp is omitted, such as before, it is regarded as the current time
a.Format: function function name(){}
b. Use names related to functions
Function_exists //Judgement function
is_array //Judge array
-Naming convention
a. Use good names (required, the rest are for reference only)
b. Function words start with uppercase and lowercase letters
c. Capitalize constants
D. Variable lowercase
Reminder: PHP is case sensitive
4.mysql
-Mysql (small relational database management system)
a.Small size
b. Fast
c. Low cost
d.Open source
MYSQL uses port 3306 by default
-Storage engine (type of storage table data)
a.MyISAM: higher insertion and query speed, but does not support transactions; default.
b.InnoDB: supports transactions
-phpMyAdmin (Access Mysql via Web)
-Type explanation
Precision: The total number of decimal digits stored in exponential data.
Length: refers to the number of bytes used to store data
int
1.Integer type
2. Accuracy 10
3. Value range (-2147483648~2147483648)
4.Length 4
Note:
int(n)
1. Specify the display width of the integer value
2. When the actual width is less than the specified column width, fill the width from the left
3.Do not change the length or the numerical range
Character type
char/varchar(n) //n represents length
When the character data values in the columns have the same length, use char. When the lengths are different, use varchar to save storage space
-Basic sql statements
a.SELECT field FROM table WHERE condition
b.INSERT INTO table (field) VALUES (value)
c.UPDATE table SET update content WHERE condition
d.DELETE FROM table WHERE condition
More practice is the key
After the query statement:
1.Group: group by
2. Sort:order by ASC/DESC
3.Limit:limit O,N
For limit, O is the offset, which starts from 0 like the array, and N is the number
For example: limit 1,5 is equivalent to 5 records starting from the second one
5.php operates mysql
-Basic steps:
mysql_connect("hostname","username","password") //Connect to MYSQL
mysql_select_db("database_name"); //Open the database
Mysql_query($sql); //Execute sql statement
mysql_fetch_array($result) //Value
1.When sql=select, a resource identifier is returned if the execution is successful, and FALSE
is returned if the execution error occurs.
Note: The successful query does not mean that there will be results, it only means that the statement is correct
2. When sql=insert/update, TRUE is returned if the execution is successful, and FALSE
is returned if the execution error occurs.
1. Obtain a row in the result set of query(sql) and save it to the array
2. Calling them in sequence will return the next row in the result set
3. You can index by field name
-Chinese encoding
Avoid garbled characters:
1. When establishing a database, select the corresponding character set. Nationally applicable: GBK/gb2312; Worldwide common: UTF-8 (recommended).
2. When connecting to mysql, add the connection character set "set names GBK";
Note: If you set names UTF8, then you should set the page encoding to UTF-8
代码如下 | 复制代码 |
///////////////封装Php连接Mysql函数//////////////// function PHPConnectMysql($hostname,$username,$password,$database,$charaset){ mysql_connect($hostname,$username,$password); mysql_select_db($database); mysql_query("set names $charaset"); } |
Summary: Accumulate more and functionalize specific functions for reuse

Reasons for PHPSession failure include configuration errors, cookie issues, and session expiration. 1. Configuration error: Check and set the correct session.save_path. 2.Cookie problem: Make sure the cookie is set correctly. 3.Session expires: Adjust session.gc_maxlifetime value to extend session time.

Methods to debug session problems in PHP include: 1. Check whether the session is started correctly; 2. Verify the delivery of the session ID; 3. Check the storage and reading of session data; 4. Check the server configuration. By outputting session ID and data, viewing session file content, etc., you can effectively diagnose and solve session-related problems.

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

Configuring the session lifecycle in PHP can be achieved by setting session.gc_maxlifetime and session.cookie_lifetime. 1) session.gc_maxlifetime controls the survival time of server-side session data, 2) session.cookie_lifetime controls the life cycle of client cookies. When set to 0, the cookie expires when the browser is closed.

The main advantages of using database storage sessions include persistence, scalability, and security. 1. Persistence: Even if the server restarts, the session data can remain unchanged. 2. Scalability: Applicable to distributed systems, ensuring that session data is synchronized between multiple servers. 3. Security: The database provides encrypted storage to protect sensitive information.

Implementing custom session processing in PHP can be done by implementing the SessionHandlerInterface interface. The specific steps include: 1) Creating a class that implements SessionHandlerInterface, such as CustomSessionHandler; 2) Rewriting methods in the interface (such as open, close, read, write, destroy, gc) to define the life cycle and storage method of session data; 3) Register a custom session processor in a PHP script and start the session. This allows data to be stored in media such as MySQL and Redis to improve performance, security and scalability.

SessionID is a mechanism used in web applications to track user session status. 1. It is a randomly generated string used to maintain user's identity information during multiple interactions between the user and the server. 2. The server generates and sends it to the client through cookies or URL parameters to help identify and associate these requests in multiple requests of the user. 3. Generation usually uses random algorithms to ensure uniqueness and unpredictability. 4. In actual development, in-memory databases such as Redis can be used to store session data to improve performance and security.

Managing sessions in stateless environments such as APIs can be achieved by using JWT or cookies. 1. JWT is suitable for statelessness and scalability, but it is large in size when it comes to big data. 2.Cookies are more traditional and easy to implement, but they need to be configured with caution to ensure security.


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

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

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

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
