Home Backend Development PHP Tutorial mayfish data warehousing verification code_PHP tutorial

mayfish data warehousing verification code_PHP tutorial

Jul 21, 2016 pm 03:39 PM
generally code write exist right Bundle data database check of conduct verify

Generally, before writing data to the database, the data to be written is verified first, which can avoid serious security problems (such as general SQL injection attacks).
mayfish can flexibly customize the verification rules for the data content to be written, so as to reduce the trouble of developers manually verifying the data of each field.
An example is as follows:
1. First define the database module

Copy the code The code is as follows:

<?php
class MemberModel extends AppModel
{
/**Set database table name **/
protected $tableName = "members";
/**
* Data validation rules
* /
protected $verify = array(
array("NotEmpty", "username", "Username cannot be left blank"),
array("hasOne", "username", "This user already exists , please try again with another user name"),
array("NotEmpty", "password", "Password cannot be left blank"),
array("NotEmpty", "email", "Email address Cannot be left blank"),
array("isEmail", "email", "The email address format is incorrect"),
array("hasOne", "email", "The email address has been occupied")
);
/**
* Override the method of the parent class to add data to the database
* First encrypt the user password with md5, and then call the method of the parent class to write it into the database
*/
public function create($data) {
$data = array_map("addslashes", $data); //Change the punctuation marks in the data (Single and double quotes) for safe escaping
$data["password"] = md5($data["password"]);
return parent::create($data);
}
}
?>

2. Perform data writing operation
Copy code The code is as follows:

//Execute the fragment of writing data...
//Execute the operation of data storage
private function PostData() {
$fields = array("username", "password", "email");
$post = array_map("trims", $_POST); //Clear all extra spaces on both sides of the data
$post = parseHTML($post , $fields); //Clear the specified field content for HTML processing
$data = parseFields($post, $fields); //Extract fields that can be written to the database (to prevent others from bypassing your page for submission Some data with ulterior motives)
$DB = & M("member");
//Perform data verification
if (!$DB->verify($data)) {
// If the verification fails, extract the reason for the failure and submit it to the template page
$this->assign("error", $DB->getVerifyError());
//Submit the submitted data as well into the template (to achieve the feeling that the user has never left the page)
$this->assign("default", $post);
//Render the registration page template
$this-&gt ;display("/register.html");
}
else {
//Write to database
$result = $DB->create($data);
// Returns a Boolean type, indicating that the data writing failed, rendering the registration page template
if (is_bool($result)) {
$this->assign("default", $post);
$this- >display("/register.html");
}
else {
//Registration successful, rendering the registration success page template
$this->assign("username", $data ["username"]);
$this->display("/reg_success.html");
}
}
}

Executable verification The rules include
NotEmpty cannot be empty
Number can only be an integer
isEmail Is the email address correct?
hasOne Is it unique (whether it is repeated or already exists)
Regex Custom regular expression

The format of verification is
array (verification method, field name for verification, verification error message)
For verification of regular expression expression
array("Regex", "mobile" , '/^13d{9}$/', "Username cannot be left blank")

MayFish Download

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/321655.htmlTechArticleGenerally, before writing data to the database, the data to be written is verified first to avoid comparisons. Serious security issues (such as general SQL injection attacks). mayfish can work...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The vitality of super intelligence awakens! But with the arrival of self-updating AI, mothers no longer have to worry about data bottlenecks The vitality of super intelligence awakens! But with the arrival of self-updating AI, mothers no longer have to worry about data bottlenecks Apr 29, 2024 pm 06:55 PM

The vitality of super intelligence awakens! But with the arrival of self-updating AI, mothers no longer have to worry about data bottlenecks

Slow Cellular Data Internet Speeds on iPhone: Fixes Slow Cellular Data Internet Speeds on iPhone: Fixes May 03, 2024 pm 09:01 PM

Slow Cellular Data Internet Speeds on iPhone: Fixes

The U.S. Air Force showcases its first AI fighter jet with high profile! The minister personally conducted the test drive without interfering during the whole process, and 100,000 lines of code were tested for 21 times. The U.S. Air Force showcases its first AI fighter jet with high profile! The minister personally conducted the test drive without interfering during the whole process, and 100,000 lines of code were tested for 21 times. May 07, 2024 pm 05:00 PM

The U.S. Air Force showcases its first AI fighter jet with high profile! The minister personally conducted the test drive without interfering during the whole process, and 100,000 lines of code were tested for 21 times.

Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year! May 06, 2024 pm 04:13 PM

Tesla robots work in factories, Musk: The degree of freedom of hands will reach 22 this year!

2024 QS ranking released! Computer science MIT dominates the list, Tsinghua University is 11th, Peking University is 15th 2024 QS ranking released! Computer science MIT dominates the list, Tsinghua University is 11th, Peking University is 15th Apr 18, 2024 pm 09:04 PM

2024 QS ranking released! Computer science MIT dominates the list, Tsinghua University is 11th, Peking University is 15th

Open-Sora comprehensive open source upgrade: supports 16s video generation and 720p resolution Open-Sora comprehensive open source upgrade: supports 16s video generation and 720p resolution Apr 25, 2024 pm 02:55 PM

Open-Sora comprehensive open source upgrade: supports 16s video generation and 720p resolution

Single card running Llama 70B is faster than dual card, Microsoft forced FP6 into A100 | Open source Single card running Llama 70B is faster than dual card, Microsoft forced FP6 into A100 | Open source Apr 29, 2024 pm 04:55 PM

Single card running Llama 70B is faster than dual card, Microsoft forced FP6 into A100 | Open source

Tsinghua University and Zhipu AI open source GLM-4: launching a new revolution in natural language processing Tsinghua University and Zhipu AI open source GLM-4: launching a new revolution in natural language processing Jun 12, 2024 pm 08:38 PM

Tsinghua University and Zhipu AI open source GLM-4: launching a new revolution in natural language processing

See all articles