mayfish data warehousing verification code_PHP tutorial
Jul 21, 2016 pm 03:39 PM
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
<?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
//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-> ;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

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

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

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

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!

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

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
