一些PHP写的小东西_php教程-查字典教程网
一些PHP写的小东西
一些PHP写的小东西
发布时间:2016-12-29 来源:查字典编辑
摘要:一些小东西有时候可能用得上!1.得到客户端IP地址functiongetip(){if(!empty($_SERVER["HTTP_X_FO...

一些小东西有时候可能用得上!

1.得到客户端IP地址

functiongetip(){

if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){//使用代理的情况

$tip=split(",",$_SERVER["HTTP_X_FORWARDED_FOR"]);

$cip=$tip[0];

}

else

$cip=$_SERVER["REMOTE_ADDR"];[

returndechex(ip2long($cip));

}

2.session控制的函数

functionsession_begin(){

global$userid,$sid,$ip,$session,$db,$islogin;

$ip=getip();

/*短期而言,系统默认需要支持cookie.*/

if(!isset($_COOKIE['userid']))returnfalse;

else$userid=$_COOKIE['userid'];

if(!isset($_COOKIE['sid']))returnfalse;

else$sid=$_COOKIE['sid'];

/*以上返回false意味着用户没有登陆,页面将跳转至首页(登陆页).*/

$query="SELECT*FROMuserWHEREnickname='$userid'";

$result=$db->sql_query($query);

if($row=$db->sql_fetchrow($result)){

if($row['sid']!=$sid)returnfalse;/*cookie传送的sid和数据库保存的不吻合*/

if($row['lastloginip']!=$ip)returnfalse;/*IP不吻合*/

/*是否要考虑session的过期问题呢?*/

}

elsereturnfalse;/*没有这个userid*/

$session=$row;

//$session['']=$row[''];

unset($row);

$islogin=true;

returntrue;

}

/*boolsession_end(int$userid,string$sid)*/

functionsesssion_end($userid,$sid){

returntrue;

}

3.做选美的投票程序

<?php

header("Refresh:0;url=./");//一秒刷新

?>

<script>alert('<?php

require_once('mysql.php');

require_once('functions.php');

$db=newsql_db('localhost','root','','selectmm');

$user_id=$_GET['user_id'];

$ip=getip();

$deltime=time()-3600;//减去一小时

$sql="deletefromvotewheretime<$deltime";//删除掉过期的数据

$db->sql_query($sql);

$sql="selectipfromvotewhereip='$ip'anduser_id='$user_id'";//查看一小时内是否投过

$linkid=$db->sql_query($sql)ordie(mysql_error());

$count=$db->sql_affectedrows();

if($count)

{

echo"您已经投过票了!";

}

else

{

$sql="updateusersetvote_count=vote_count+1WHEREuser_id='$user_id'";

$db->sql_query($sql);

$count=$db->sql_affectedrows();

if($count)

{

echo"投票成功!";

$sql="insertintovote(`ip`,`user_id`,`time`)values('$ip','$user_id','".time()."')";//投票成功就插入一条记录。

$db->sql_query($sql);

}

else

{

echo"投票失败!";

}

}

?>');

//history.back();

</script>

4.smarty的搜索程序

<?php

require_once('mysql.php');

$db=newsql_db('localhost','root','','selectmm');

require_once('functions.php');

require_once('session.php');

session_begin();

require('./Libs/Smarty.class.php');

$smarty=newSmarty;

$title="首页";

$smarty->assign("islogin",$islogin);

$smarty->assign("title",$title);

$age=$_GET['age'];

$arr=explode(',',$age);

$y=date('Y');

$md=date('-m-d');

$begin=($y-$arr[1]).$md;

$end=($y-$arr[0]).$md;

$sql="selectp.*frompic_infop,useruwherep.user_id=u.user_idandu.birthdaybetween'$begin'and'$end'groupbyu.user_id";

$link=$db->sql_query($sql)ordie(mysql_error());

$row=$db->sql_fetchrowset($link);

$db->sql_freeresult();

$smarty->assign("pic",$row);

$smarty->display('index.tpl.htm');

?>

5.注册程序

<?

require('mysql.php');

$str=newsql_db('localhost','root','','selectmm');

$METHOD=$_POST;

if(isset($METHOD['nickname'])&&$METHOD['nickname']!='')$nickname=$METHOD['nickname'];

else{echo"<script>alert("用户昵称不能为空.")</script>";echo"<script>location="register.php"</script>";}

if(isset($METHOD['password'])&&strlen($METHOD['password'])>=6)$password=$METHOD['password'];

else{echo"<script>alert("密码至少6位")</script>";echo"<ahref='javascript:history.go(-2);'>";}

$password2=$METHOD['password2'];

if($password!=$password2)

{echo"<script>alert("两次输入密码不一致")</script>";echo"<script>location="register.php"</script>";}

if(isset($METHOD['name'])&&$METHOD['name']!='')$name=$METHOD['name'];

else{echo"<script>alert("用户名不能为空.")</script>";echo"<script>location="register.php"</script>";}

$birthday=$METHOD['Year'].$METHOD['Month'].$METHOD['Day'];

$stature=$METHOD['stature'];

$astrology=$METHOD['astrology'];

$bloodtype=$METHOD['bloodtype'];

$goodat=$METHOD['goodat'];

$work=$METHOD['work'];

$educate=$METHOD['educate'];

$homeplace=$METHOD['homeplace'];

$address=$METHOD['address'];

$tel=$METHOD['tel'];

$qq=$METHOD['qq'];

if(isset($METHOD['email'])&&$METHOD['email']!='')$email=$METHOD['email'];

else{echo"<script>alert("Email不能为空")</script>";echo"<script>location="register.php"</script>";}

if(!eregi("^[0-9a-z.-_]+@[0-9a-z.]+.[a-z]$",$email)){echo"<script>alert("电子邮件格式不合法")</script>";echo"<script>location="register.php"</script>";}

$dian=$METHOD['dian'];

if(isset($METHOD['myself'])&&$METHOD['myself']!='')$myself=$METHOD['myself'];

else{echo"<script>alert("用.....不能为空")</script>";echo"<script>location="register.php"</script>";}

if(isset($METHOD['enounce'])&&$METHOD['enounce']!='')$enounce=$METHOD['enounce'];

else{echo"<script>alert(".....不能为空")</script>";echo"<script>location="register.php"</script>";}

$query="SELECT*FROMuserWHEREnickname='$nickname'oremail='$email'";

$result=$str->sql_query($query)ordie(mysql_error());;

if($row=$str->sql_fetchrow($result))

{echo"<script>alert("对不起,该用户已经注册")</script>";echo"<script>location="register.php"</script>";}

$password=md5($password);

$query="INSERTINTO`user`(`nickname`,`password`,`name`,`birthday`,`astrology`,`bloodtype`,`stature`,`goodat`,`work`,`educate`,`homeplace`,`address`,`tel`,`email`,`qq`,`dian`,`myself`,`enounce`)VALUES('$nickname','$password','$name','$birthday','$astrology','$bloodtype','$stature','$goodat','$work','$educate','$homeplace','$address','$tel','$email','$qq','$dian','$myself','$enounce')";

if($str->sql_query($query))

$str->sql_close();

echo"<script>alert("恭喜你,注册成功")</script>";

echo"<script>location="login.php"</script>";

?>

6.提交参数JS控制

echo"<td><ahref='delete.php?nickname='onclick="returnconfirm('确定删除吗?rn此操作不可恢复')"><fontcolor=red>删除该用户</font></a></td>";

7.在给同事做一个文本处理,两个文档一个有7万条记录,开始用嵌套循环,php死了,后面用数组解决了问题

<?php

if(($fp=fopen("1.txt","a+"))===false)

{

die("打开文件失败");

}

$data1=file("old.txt")ordie("打开文件失败");

$data2=file("sports.txt")ordie("打开文件失败");

foreach($data1as$data)

{

$x=split("[./]",$data);

$name=$x[count($x)-2];

$a[$name]['md5']=$data;

}

foreach($data2as$data)

{

$x=split("[,./]",$data);

$name=$x[count($x)-2];

if(isset($a[$name]))

$a[$name]['name']=$x[0];

}

foreach($aas$value)

{

$str=$value['md5'].','.$value['name'];

fwrite($fp,$str);

echo$value['md5'].','.$value['name']."<br>";

fwrite($fp,$str);

}

?>

8.验证码

<?php

/*

*Filename:authimg.php

*/

Header("Content-type:image/PNG");

session_start();

$auth_num="";

/*创建一个基于调色板的图像*/

$im=imagecreate(63,20);

/*初始化一个随机种子*/

srand((double)microtime()*1000000);

$auth_num_k=md5(rand(0,9999));

$auth_num=substr($auth_num_k,17,5);

/*赋值会话变量*/

$_SESSION['authnum']=$auth_num;

$black=ImageColorAllocate($im,0,0,0);

$white=ImageColorAllocate($im,255,255,255);

$gray=ImageColorAllocate($im,200,200,200);

ImageFill($im,63,20,$black);

imagestring($im,5,10,3,$auth_num,$gray);

for($i=0;$i<200;$i++){

$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imagesetpixel($im,rand()%70,rand()%30,$randcolor);

}

ImagePNG($im);

ImageDestroy($im);

?>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新php教程学习
    热门php教程学习
    编程开发子分类