21

织梦网站管理系统禁止会员同一帐号多地登录

修改织梦网站管理系统PHP程序,实现禁止同一会员帐号多地登录,一般来讲就要从判断IP入手。我修改的这个原理是:会员登录后增加创建名为Only的cookie,当会员刷新页或浏览新页面时判断从数据表@_member中当前会员的loginip值md5后与Only比较异同,把此条件加在验证用户是否已经登录函数IsLogin()中,成立返回真,不成立返回假,即可实现。修改如下:

修改文件/include/memberlogin.class.php

构造函数,大约171行左右的$this->OnlyCookie = GetCookie("Only");代码下一行增加代码如下:
$this->OnlyCookie = GetCookie("Only");

验证用户是否已经登录函数IsLogin(),大约第290行 改为
function IsLogin()
{
$loginipCookie = substr(md5($this->fields['loginip']),0,16);
if($this->M_ID > 0 && $this->OnlyCookie == $loginipCookie) return TRUE;
else return FALSE;
}

Continue reading

20

php模拟用户自动在qq空间发表文章的方法

 

21

PHP创建TXT文件

fwrite(file,string,length)

file     必需。规定要写入的打开文件。
string     必需。规定要写入文件的字符串。
length     可选。规定要写入的最大字节数。

fwrite() 返回写入的字符数,出现错误时则返回 false。

fclose(file)

file 参数是一个文件指针。fclose() 函数关闭该指针指向的文件。如果成功则返回 true,否则返回 false。

Posted in PHP
21

PHP函数获取客户端真实IP方法

两种PHP写法获取客户端真实IP方法:

本地测试获取的IP一般为::1这是正常的,在远程服务器中此方法是可用的

Host映射查看方法 C:\Windows\System32\drivers\etc  文件hosts

由于客户端可以篡改IP,所以在使用此方法获取的IP要进行过滤。

下面是获取到的客户端IP再获取客户端的地理信息(省份、地区、经纬度)

 

20

JS获取当前域名

<script language="javascript">
//获取域名
host = window.location.host;
host2=document.domain;

//获取页面完整地址
url = window.location.href;

document.write("<br>host="+host)
document.write("<br>host2="+host2)
document.write("<br>url="+url)
</script>

20

jQuery对象与dom对象相互转换

什么是jQuery对象?

—就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。

比如:

$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法

这段代码等同于用DOM实现代码:

document.getElementById("id").innerHTML;

虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。

还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById(“id”)得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。

既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。

jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

如:var $v =$("#v") ; //jQuery对象

var v=$v[0]; //DOM对象

alert(v.checked) //检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

如:var $v=$("#v"); //jQuery对象

var v=$v.get(0); //DOM对象

alert(v.checked) //检测这个checkbox是否被选中 Continue reading

10

CSS(background)背景色渐变

垂直渐变:上->下
垂直渐变:下->上
水平渐变:左->右
水平渐变:右->左

IE系列

filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#00BFFF',endColorStr='#0000CD',gradientType='0');

参数:startColorStr起始颜色 endColorStr结束颜色 gradientType为0时代表垂直,为1时代表水平

Firefox

background: -moz-linear-gradient(top, #00BFFF, #0000CD);

参数:top、bottom垂直,left、right水平 例如:top时从顶部由#00BFFF到#0000CD渐变,bottom时从底部由#00BFFF到#0000CD渐变

Opera

background: -o-linear-gradient(top,#00BFFF, #0000CD);

参数:top、bottom垂直,left、right水平 例如:top时从顶部由#00BFFF到#0000CD渐变,bottom时从底部由#00BFFF到#0000CD渐变

webkit,如Chrome、Safari等

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#00BFFF), to(#0000CD));

参数:linear线性, x1 x2, x3 x4 x1与x3相同时垂直,x2与x4相同时水平 from起始颜色 to结束颜色

07

使用JS改变a标签中的href链接与图片src链接方法

一、原生JS直接改变a标签链接与图片src链接(JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg。
a标签改变后的链接是http://mrdede.com/

二、引入jQuery方法改变a标签链接与图片src链接(应该是任意jQuery版本都可以,JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg
a标签改变后的链接是http://mrdede.com/
原始文本是“织梦先生”,改变后文本是“百度”
其中加了判断,当前可使用屏幕宽度小于768时,改变图片链接、a标签链接和文本内容。

24

HTML5+JavaScript实现仿微信摇一摇效果

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

事件监听

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo.html

把监听事件绑定给 deviceMotionHandler

获取设备加速度信息 accelerationIncludingGravity

将加速度信息打印置页面,通过演示地址可以看到随着设备的移动,屏幕上数字的变化。

 

摇晃判断

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_1.html

“摇一摇”的动作既“一定时间内设备了一定距离”,因此通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,即可进行设备是否有进行晃动的判断。而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。

100毫秒进行一次位置判断,若前后x, y, z间的差值的绝对值和时间比率超过了预设的阈值,则判断设备进行了摇晃操作。

 

然后通过上面2个演示,然后再增加点样式效果,即可模拟一个简单的微信摇一摇界面。

应用演示:简易模拟微信摇一摇

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_2.html

20

dedeCMS数据库操作类中$dsql的使用方法与实例

dedecms二次开发中对数据库操作类的使用尤为重要,下面是对数据库操作类的一些简单说明和实例。

引入common.inc.php文件

查询某表是否存在,存在返回TRUE,否则返回FALSE

获取一条记录的内容

将查询获取总数输出

将查询的若干条记录输出

将查询的若干条记录输出dedecms5

插入一条记录

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

删除一条记录

更新一条记录

判断获取数据库内容的常用方法

获取总数

关闭数据库

实例 Continue reading