首页 » 建站技术 » PHP 技术 » 浏览内容

一些PHP写的小东西


2005-12-08 18:38:13 6,287 0 发表评论 字体: 作者:C.K.
标签: php源代码

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

出处:blog.chinaunix.net

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

1.得到客户端IP地址

function getip(){
  •         if (! empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ //使用代理的情况
  •                 $tip = split(",", $_SERVER["HTTP_X_FORWARDED_FOR"]);
  •                 $cip = $tip[0];
  •         }
  •         else
  •                 $cip = $_SERVER["REMOTE_ADDR"];[
  •         return dechex(ip2long($cip));
  • }
  • 2.session控制的函数

    function session_begin(){
  •         global $userid, $sid, $ip, $session, $db, $islogin;
  •         $ip = getip();
  •         /* 短期而言,系统默认需要支持cookie. */
  •         if (!isset($_COOKIE['userid'])) return false;
  •         else $userid = $_COOKIE['userid'];
  •         if (!isset($_COOKIE['sid'])) return false;
  •         else $sid = $_COOKIE['sid'];
  •         /* 以上返回false意味着用户没有登陆,页面将跳转至首页(登陆页). */
  •         $query = "SELECT * FROM user WHERE nickname = '$userid'";
  •         $result = $db->sql_query($query);
  •         if ($row = $db->sql_fetchrow($result)){
  •                 if ($row['sid'] != $sid) return false; /* cookie传送的sid和数据库保存的不吻合 */
  •                 if ($row['lastloginip'] != $ip) return false; /* IP不吻合 */
  •                 /* 是否要考虑 session的过期 问题呢? */
  •         }
  •         else return false; /* 没有这个userid */
  •         $session = $row;
  • //        $session[''] = $row[''];
  •         unset($row);
  •         $islogin = true;
  •         return true;
  • }
  • /* bool session_end(int $userid, string $sid) */
  • function sesssion_end($userid, $sid){
  •         return true;
  • }
  • 3.做选美的投票程序

    <?php
  • header("Refresh:0;url=./");  //一秒刷新
  • ?>
  • <script>alert('<?php
  • require_once('mysql.php');
  • require_once('functions.php');
  • $db = new sql_db('localhost','root','','selectmm');
  • $user_id = $_GET['user_id'];
  • $ip = getip();
  • $deltime = time()-3600;  //减去一小时
  • $sql = "delete from vote where time <$deltime"; //删除掉过期的数据
  • $db->sql_query($sql);
  • $sql = "select ip from vote where ip='$ip' and user_id='$user_id'"; //查看一小时内是否投过
  • $linkid=$db->sql_query($sql) or die(mysql_error());
  • $count=$db->sql_affectedrows();
  • if($count)
  • {
  •  echo "您已经投过票了!";
  • }
  • else
  • {
  •  $sql = "update user set vote_count=vote_count+1 WHERE user_id='$user_id'";
  •  $db->sql_query($sql);
  •  $count=$db->sql_affectedrows();
  •  if($count)
  •  {
  •   echo "投票成功!";
  •      $sql = "insert into vote (`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 = new sql_db('localhost','root','','selectmm');
  • require_once('functions.php');
  • require_once('session.php');
  • session_begin();
  • require('./Libs/Smarty.class.php');
  • $smarty = new Smarty;
  • $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="select p.* from pic_info p,user u where p.user_id=u.user_id and u.birthday between '$begin' and '$end' group by u.user_id";
  • $link=$db->sql_query($sql) or die(mysql_error());
  • $row = $db->sql_fetchrowset($link);
  • $db->sql_freeresult();
  • $smarty->assign("pic",$row);
  • $smarty->display('index.tpl.htm');
  • ?>
  • 5.注册程序

    <?
  • require('mysql.php');
  • $str=new sql_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 "<a href='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 * FROM user WHERE nickname ='$nickname' or email='$email'";
  •     $result = $str->sql_query($query)or die(mysql_error()); ;
  •     if ($row = $str->sql_fetchrow($result))
  •      { echo "<script>alert("对不起,该用户已经注册")</script>"; echo "<script>location="register.php"</script>"; }
  •     $password = md5($password);
  •     $query = "INSERT INTO `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><a href='delete.php?nickname=' onclick="return confirm('确定删除吗?rn此操作不可恢复')"><font color=red>删除该用户</font></a></td>";

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

    <?php
  • if(($fp=fopen("1.txt","a+"))===false)
  •    {
  •            die("打开文件失败");
  •    }
  • $data1=file("old.txt") or die("打开文件失败");
  • $data2=file("sports.txt") or die("打开文件失败");
  • foreach($data1 as $data)
  • {
  • $x = split("[./]",$data);
  • $name = $x[count($x)-2];
  • $a[$name]['md5']=$data;
  • }
  • foreach($data2 as $data)
  • {
  • $x = split("[,./]",$data);
  • $name = $x[count($x)-2];
  • if(isset($a[$name]))
  • $a[$name]['name']=$x[0];
  • }
  • foreach($a as $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);
  • ?>

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5066 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14166740 位访客

    广告区 Guǎng Gào