mayfish 数据入库验证代码

 更新时间:2016年11月25日 15:56  点击:1321

可执行验证的规则有
NotEmpty 不能为空
Number 只能是整数
isEmail 邮箱地址是否正确
hasOne 是否是唯一(是否重复,是否已经存在)
Regex 自定义正则表达式

验证的格式为
array(验证方法, 进行验证的字段名称, 验证错误的提示信息)
对于正则表达示的验证
array("Regex", "mobile", '/^13d{9}$/', "用户名不能留空")
//执行写入数据的片段...
//执行数据入库的操作
private function PostData() {
$fields = array("username", "password", "email");
$post = array_map("trims", $_POST); //清除所有数据两边多余的空格
$post = parseHTML($post, $fields); //将指定的字段内容进行清除HTML处理
$data = parseFields($post, $fields); //提取可以写入数据库的字段(防止别人绕过你的页面进行提交一些别有用心的数据)
$DB = & M("member");
//进行数据验证
if (!$DB->verify($data)) {
//验证失败,取出失败的原因,并提交到模板页面中
$this->assign("error", $DB->getVerifyError());
//把提交过来的数据也提交到模板中(用以实现用户好像没有离开过页面的感觉)
$this->assign("default", $post);
//渲染注册页面模板
$this->display("www.111cn.net/register.html");
}
else {
//写入数据库
$result = $DB->create($data);
//返回布尔型,说明数据写入失败,渲染注册页面模板
if (is_bool($result)) {
$this->assign("default", $post);
$this->display("/register.html");
}
else {
//注册成功,渲染注册成功页面模板
$this->assign("username", $data["username"]);
$this->display("/reg_success.html");
}
}
}

操作代码
<?php教程
class MemberModel extends AppModel
{
/** 设置数据库表名称 **/
protected $tableName = "members";
/**
* 数据验证规则
*/
protected $verify = array(
array("NotEmpty", "username", "用户名不能留空"),
array("hasOne", "username", "此用户已经存在,请换另一个用户名称再试一次"),
array("NotEmpty", "password", "密码不能留空"),
array("NotEmpty", "email", "邮箱地址不能留空"),
array("isEmail", "email", "邮箱地址格式不正确"),
array("hasOne", "email", "邮箱地址已经被占用")
);
/**
* 覆盖父类添加数据入库的方法
* 先对用户密码进行md5加密,再调用父类的方法写入数据库中
*/
public function create($data) {
$data = array_map("addslashes", $data); //将数据中的标点符号(单、双引号)进行安全转义
$data["password"] = md5($data["password"]);
return parent::create($data);
}
}
?>

在htdocs文件夹中将该文件保存为“excelsample.php教程”。打开浏览器,在地址栏中输入:

此时,将会在页面中显示当前的Excel版本,同时创建名为php_excel_test.xls的工作簿并在工作表Sheet1单元格A1中输入“测试”。
打开工作簿php_excel_test.xls,在单元格A1中将会看到已经输入了“测试”。
注:为防止出现乱码,在代码开始设置了编码格式,同时在保存文件时选择保存为gb2312格式。


<?php
//指定页面编码,防止出现中文乱码的情形
header('Content-type: text/html; charset=gb2312');

//启动Excel
$ms_excel=new COM("excel.application") or die("不能打开Excel应用程序");

//在网页中显示当前的Excel版本
echo "Excel版本:{$ms_excel->Version} ";

//新建一个工作簿
$ms_excel->Application->Workbooks->Add() or die("不能添加新工作簿");

//在工作簿的工作表Sheet1中单元格A1中输入文本
$ms_excel->Worksheets("Sheet1")->Range("A1")->Value="测试";

//保存工作簿,如果没有指定路径,则默认保存在我的文档中
$ms_excel->Workbooks(1)->SaveAs("php_excel_test.xls");

//关闭工作簿
$ms_excel->Quit();

//清空对象
$ms_excel=null;
?>

alert("createTechBook".split(/(?=[A-Z])/)) 谢了啊

<?php教程
$str="abcDefGhi";
/*
preg_match_all("/([a-zA-Z]{1}[a-z]*)?[^A-Z]/",$str,$array);
*/
$array=preg_split("/(?=[A-Z])/",$str);
print_r($array);
?>


复制代码 代码如下:
<?php
$string = "createTechBook";
$arr = preg_split("/(?=[A-Z])/", $string);
print_r($arr);
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
html复选框如果要以数据组形式发送给php脚本处理就必须以如checkbox[]这形式
<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="checkbox" name="checkbox[]" value="1" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="2" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="www.111cn.net" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="111cn.net" />
  </label>
  <label>
  <input type="submit" name="Submit" value="提交" />
  </label>
</form>
</body>
</html>
<?
//判断是否点击提交
if( $_POST )
{
 $array = $_POST['checkbox'];
 print_r($array);
}
/*
 结果:
 Array
 (
  [0] => 1
  [1] => 2
  [2] => www.111cn.net
  [3] => 111cn.net
 )
 
 简单的很多事情在做之前觉得复杂但做起来就很容易了,像这个复选框代码就是这样了。
 本文章原创于www.111cn.net转载注明来源
*/
?>

if($_POST['op'] == 'edit') {
    $sql = "
        UPDATE " . TABLE_PREFIX . "user
        SET
            name = '" . $_POST['name'] . "',
            birthday = '" . $_POST['birthday'] . "',
            email = '" . $_POST['email'] . "',
            sex = '" . $_POST['sex'] . "'
        WHERE
            id = '" . $_POST['id'] . "'

        ";
    if(db_exec($sql)) {
        $notice = array(
            'msg' => '修改成功',
            'alt' => '列表用户',
            'url' => '?op=index'
        );
        require_once 'view/_notice.phtml';
    } else {
        $notice = array(
            'msg' => '修改失败',
            'alt' => '修改用户',
            'url' => '?op=edit&id=' . $_POST['id']
        );
        require_once 'view/_notice.phtml';
    }
} else {
    $sql = "
        SELECT *
        FROM ". TABLE_PREFIX . "user
        WHERE id = '". (int)$_GET['id'] ."' ";
    $data = fetch($sql);
    require_once 'www.111cn.net/edit.phtml';
}

edit.phtml代码

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户编辑</title>
</head>
<body>
    <h3>用户编辑</h3>
    <form action="?op=edit" method="post" enctype="application/x-www-form-urlencoded">
        姓名:<input type="text" name="name" size="15" value="<?php echo $data['name'] ?>" /><br />
        生日:<input type="text" name="birthday" size="10" value="<?php echo $data['birthday'] ?>" /> (YYYY-MM-DD)<br />
        邮箱:<input type="text" name="email" size="30" value="<?php echo $data['email'] ?>" /><br />
        性别:<input type="radio" name="sex" value="3"<?php if($data['sex'] == '-') : ?> checked="checked"<?php endif; ?> />保密
              <input type="radio" name="sex" value="1"<?php if($data['sex'] == 'M') : ?> checked="checked"<?php endif; ?> />男
              <input type="radio" name="sex" value="2"<?php if($data['sex'] == 'F') : ?> checked="checked"<?php endif; ?> />女<br />
        <input type="hidden" name="id" value="<?php echo $data['id'] ?>" />
        <input type="hidden" name="op" value="edit" /><br />
        <input type="submit" name="submit" value="编辑用户www.111cn.net" />
    </form>
    <?php require_once 'view/_foot.phtml'; ?>
</body>
</html>

[!--infotagslink--]

相关文章

  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08