暑假小项目总结:
用户登陆与注册:
关键是如何显示验证码图片。在本例中
<label >验证码</label> <input type="text"name="code"size="4"style="float:left"/> <a href="javascript:;" onclick="document.getElementById('captcha_img').src='captcha.php')"> <img id="captcha_img" border='1' src='captcha.php' style="width:100px; height:30px" /> </a>
通过给图片添加链接,和给这个链接加上onclick事件,只要一点击图片,出发onclick事件。
document.getElementById("captacha_img").src="captcha.php"
这段js代码表示取id为’captacha_img’的DOM元素,并通过.src=重新指向captcha.php,感觉就是一个刷新操作。标签的src属性,可以是一个图片的地址,亦可以是
header('Content-Type: image/png');
的php文件,因为这个文件本生就是一个image/png格式,就是个图片。通过 SESSION传值,在图片的captcha.php文件里,打开了session,把显示出来的数字,保存在 S E S S I O N 传 值 , 在 图 片 的 c a p t c h a . p h p 文 件 里 , 打 开 了 s e s s i o n , 把 显 示 出 来 的 数 字 , 保 存 在 _SESSION[”],这个超全局数组里面。再在login.php里面与login.html里面传来的验证码数据比较
$_SESSION[""]==$_POST[""]
,表示验证码输入正确。
留言板设计:
数据库里面是用:utf8 中间没有杠杠
mysqli_set_charset(“utf8”);
select count(*) form table_name
语句一:select count(*) from T; 作用:查询T表中记录的行数。
语句二:select * from T; 作用:查询T表中所有的记录。
区别:语句一查询结果为一个数值,就是表中记录条数;语句二查询结果是表中所有数据,就是包括字段名字,字段里面的内容的详细信息。
查询出来的数值
$sql="select count(*) from table_name"; $result=mysqli_query($sql); 这个时候,$result也是一个query对象,只是这时候,里面的数据只是包含了表中记录的行数 此时,用mysqli_fetch_row取回来的数据只是记录的行数。
mysqli_fetch函数:从结果集里面取数据,一行一行的取。
- mysqli_fetch_row:从结果集里取一行数据,返回数组格式。
- mysqli_fetch_assoc:返回的是关联数据。(既可以key=>value,也可以数组下标=>value)
cursor:pointer 这个css属性的意思为把光标变成一只手。
jQuery中toggle():
toggle() 方法切换元素的可见状态。
如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素。
在css属性里,属性和值之间用 : 。但是在表单元素的属性里,属性和值之间用 =,而且值必须加引号。
form表格的οnsubmit=”return foo();”属性,用于再提交的时候通过js对表单内容的合法性做判断,引号里面加js函数,当条件不成立的时候,返回false,这样表单数据就无法提交出去了(注意后面的分号写上)。
mysql中的事件字段
NOW()函数以`’YYYY-MM-DD HH:MM:SS’返回当前的日期时间,可以直接存到DATETIME字段中。
CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。
CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。
但是now(),也可以存到date字段里。自动过滤掉后面三个
千万注意,当数据表单里面没有数据时,这时候用select
$sql="select * from table_name";
$result=mysqli_query($conn,$sql);//查不到数据,返回的$result为false类型,不是mysqli_query类型
$num=mysqli_num_rows($result);//返回记录条数
while($row=mysqli_fetch_assoc($result)){}//会报错,因为fetch_assoc()函数的参数要求为mysqli_query类 //型,而当数据表为空时,返回的$result为false,不满足函数对 //参数类型的要求。所以会报错
> mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
解决方法:
对查询到的结果集$result进行类型判断
一般使用在php+html混合代码里面,注意在嵌套php时,凡是用到php代码的地方,都要用<?php ?>包装起来
if($result==false){
echo "未查到数据";
}else{
while($row=mysqli_fetch_assoc($result)){
//对返回的数据结果集操作
}
}
$_SERVER[HTTP_REFERER]:表示上个页面的url地址。
$_SERVER[PHP_SELF]:表示这个页面本身的url地址。两个值多用于传值。
php超全局变量:$_SERVER
项目中,用到$_SERVER[‘PHP_SELF’]来把page值传到当前页面,实现上一页下一页的切换。
不选和反选功能
var num=document.getElementsByTagName(‘a’).length; //获取页面所以a标签数量。
表示选择框
具体js函数
function uncheckAll(form1,status){ //不选
var elements = document.getElementsByTagName('input'); //获取input标签
for(var i=0;i<elements.length;i++){ //根据标签的长度执行循环
if(elements[i].type == 'checkbox'){ //判断对象中元素的类型
if(elements[i].checked==true){ //判断当checked的值为TURE时
elements[i].checked=false; //将checked赋值为FALSE
}
}
}
}
function checkAll(form1,status){ //全选
var elements = document.getElementsByTagName('input');
for(var i=0;i<elements.length;i++){
if(elements[i].type == 'checkbox'){
if(elements[i].checked==false){
elements[i].checked=true;
}
}
}
}
function switchAll(form1,status){ //反选
var elements = document.getElementsByTagName('input');
for(var i=0;i<elements.length;i++){
if(elements[i].type == 'checkbox'){
if(elements[i].checked==true){
elements[i].checked=false;
}else if(elements[i].checked==false){
elements[i].checked=true;
}
}
}
}
textarea框的放大缩小
$(function(){
var $comment = $('#comment'); //获取评论框
$('.bigger').click(function(){ //放大按钮绑定单击事件
if(!$comment.is(":animated")){ //判断是否处于动画
if( $comment.height() < 500 ){
$comment.animate({ height : "+=50" },400); //重新设置高度,在原有的基础上加50
}
}
})
$('.smaller').click(function(){//缩小按钮绑定单击事件
if(!$comment.is(":animated")){//判断是否处于动画
if( $comment.height() > 50 ){
$comment.animate({ height : "-=50" },400); //重新设置高度,在原有的基础上减50
}
}
});
});
笑话类网站开发:
在php代码里面{}的作用
但是如果变量外面的引号是双引号“”,变量可以不用{}哦!因为单引号很特殊,属于转义字符
花括号代表里面的时变量的意思。我们已经知道,单引号里的内容会被当作字符串来处理,但是如果把变量加到花括号里,表示的是仍然是花括号里面的变量的值。神奇!
PHP中冒号、endif、endwhile、endfor使用介绍 链接
- 后代选择器:ancestor descendant : 在给定的祖先元素下匹配所有的后代元素
- $(“.left h2”)选择class为left标签下所有h2标签
.slideToggle(200):通过改变高度的方法在200ms内把元素的高度值改为0或回复至本来样子,实现切换元素可视状态。
.toggleClass(“on”):从匹配的元素中添加或删除一个类。 (这个类就是元素的class属性,用来装饰的)
.removeClass(“on”):移除on类
.addClass(“on”):添加一个on类
验证码的使用:
onclick="this.src='captcha.php'"
可以给img图片标签加上onclick属性,自动变换。
js中获取session的值