页面伪装异步加载中...
关闭/显示侧边栏
返回首页 mail me! 订阅rss Follow me

一些PHP的小笔记

require() 与 include()的区别

require() 函数与 include() 相同,不同的是它对错误的处理方式。include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。

关于一些文件操作函数:

feof() 函数检测是否已达到文件的末端 (EOF),fgets() 函数用于从文件中逐行读取文件,fgetc() 函数用于从文件逐字符地读取文件。

电子高专2010学年PHP公选作业题答案

下面依次是第3题,第4题,第5题的完全PHP代码。

高专有需求的直接拿了 不解释了。

第3题
这道题其实比较蛋疼,因为第一个提交和第二个汇总要求都要显示出前面的提交过的数据,所以不能当成两个表单来弄,需要重叠一次表单区域。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3题解答</title>
</head>
<body align="center">
    <form name="form1" method="post" action="">
        <p>请输入班级学生人数
        <input type="text" name="num"  value="<?=isset($_POST['num'])?$_POST['num']:""?/>" />
        <input type="submit" name="button_a"  value="提交" /></p><br /><br /> 
    < ?php
        if(isset($_POST['button_a'])){
            $num = $_POST['num'];
            for($i=1;$i<=$num;$i++){
                echo "第$i 个学生的成绩";
                echo "<input type=\"text\" name=\"stu$i\" />"."<br />";
            }
            echo "<input type=\"submit\" name=\"button_b\"  value=\"汇总成绩\" />";
        }
 
        if(isset($_POST['button_b'])){
            $num=$_POST['num'];
            $totle=0;
            for($i=1;$i< =$num;$i++){
                echo "第$i 个学生的成绩";
                $s=isset($_POST['stu'.$i])?$_POST['stu'.$i]:"";
                echo "<input type=\"text\" name=\"stu$i\" value=\"$s\" />"."<br />";
                $totle+=$s;
            }
            echo "<input type=\"submit\" name=\"button_b\"  value=\"汇总成绩\" />"."<br /><br />"; 
            echo "总成绩为 : $totle";
        }
    ?>
</form>
</body>
</html>

阅读全文>>>

ThinkPHP验证码制作

ThinkPHP中的image类中已经集成了验证码的制作,非常的方便。

使用方法如下:
首先在当前控制器中引用验证码:

1
2
3
4
5
6
7
8
9
10
11
12
function verify()
        {
                import('ORG.Util.Image');
                if(isset($_REQUEST['adv']))
                {
                        Image::showAdvVerify();
                }
                else
                {
                        Image::buildImageVerify();
                }
        }

这个时候我们就可以在模板中引用验证码了,但为了验证码不过期,我们在模板中加上一个刷新验证码的JS函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
function $(id) {
        return document.getElementById(id);
}
function fleshVerify(){
//重载验证码
var timenow = new Date().getTime();
document.getElementById('verifyImg').src= '__URL__/verify/'+timenow;
}
</script>
 
 
 
<form method="post" name="form1" action="__URL__/writes">
请输入验证码:<input type="text" name="seccode" id="seccode" size="11"  /> 
<A HREF="javascript:fleshVerify()"><img SRC="__URL__/verify/" name="verifyImg" BORDER="0" id="verifyImg" title="如果您无法识别验证码,请点图片更换" /></a>
<input type="submit" name="Submit2" value="提交" />
</form>

当然最后,我们需要在提交表单内容后对首先对验证码进行判断:

1
2
3
4
5
6
7
public function writes()
        {
                $seccode=trim($_POST['seccode']);
                if(md5($seccode)!=Session::get('verify'))$this->error('验证码错误!!!');
 
       ........
}

到这里,整个验证码的判断过程就结束了。

文本框转义函数。

我怎么总觉得好像标题打错了。。

1
2
3
4
5
6
7
8
9
10
function dhtml($string) {
  if(is_array($string)) {
    foreach($string as $key => $val) {
	$string[$key] = dhtml($val);
	   }
    } else {
    $string = str_replace(array('"', '\'', '<', '>', "\t", "\r", '{', '}'), array('&quot;', '&#39;', '&lt;', '&gt;', '&nbsp;&nbsp;', '', '&#123;', '&#125;'), $string);
	}
	return $string;
    }

关于ThinkPHP框架前台制作。

这几天开始做网站的前台,在这之间倒是走了一个弯路。

因为做后台功能的时候,将数据库中的表和功能对应起来,然后每个表或者功能对应一个控制器,开始做前台的时候就有点犯傻,心想前台每个页面或许会显示不同的表中的内容,但那样怎么来设计控制器呢。

当时还有个犯傻的问题就是纠结在了从数据库中读取文件时,URL路径的表现问题。
阅读全文>>>

Page 1 of 41234