也是可以的,只是这样写不好统一管理
格林时间
session_start()放在最前面。看下有没有BOM头存在。
检查 一下代码
可以的,不过有了单例模式就可以实现多次实例化一个类只对应一个内存资源,就好比如:实例化三次类,在内存中要开辟三个空间出来,如果做了单例模式后,实例化三次类,在内存中只开辟一个空间出来,差不多就是这种意思。
测试了半天,导入字体库的时候使用绝对路径就好了
你看一下前面几节课就知道了
应该还是哪儿有写错,你按user的这个类去找吧
你检查浏览器插件,比如 翻译插件 禁止掉就不会报这个错误
问题解决了吗?
因为setcookie()的第二个参数$value必须是字符串,如果传递进来的值是数组或者对象的话,使用json_encode()函数转换成字符串存入到cookie中
因为已经remove删除了,当然需要return null 返回一个null给前台一个提示信息显示了。
<?php
/**
* @param integer $width 宽度
* @param integer $[height] [高度]
* @param integer $[type] [1为纯数字,2为大小写字母,3为字母数字混合]
* @param integer $[length] [输出的验证码数量]
* @return string [验证码字符串]
*/
//封装一个验证码函数
function test_session($width=100,$height=30,$type=2,$length=4,$fize='D:\wamp64\www\project01\session.test.php\STXINGKA.TTF'){
//先设定一个画布资源/颜色并覆盖,这是底色图片
$image=imagecreatetruecolor($width, $height);
$white=imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $width, $height, $white);
switch ($type) {
case 0:
//array_rand是随机返回($length)个数组中的键/下标值
$str=join('',array_rand(range(0,9),$length));
break;
case 1:
//array_merge是合并数组
$str=join('',array_rand(array_flip(array_merge(range('a','z'),range('A','Z'))),$length));
break;
case 2:
//array_flip是交换数组的下标和值
$str=join('',array_rand(array_flip(array_merge(range('a','z'),range('A','Z'),range(0,9))),$length));
break;
}
//设置字体
//设定一个随机颜色
//$color = imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
//如果把这个颜色放在设定字体的循环外面,那么所有的调用都会是一个颜色
for($i=0; $i <$length ; $i++) {
$color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));
imagefttext($image, 16, mt_rand(-20,20), $i*$width/$length+4,mt_rand($height-15,25),$color,$fize,$str[$i]);
}
//设置干扰点
//如果这个变量$color 放在了for循环外面,那么所有的点都会是一个颜色
for($i=1;$i<200;$i++){
$color2 = imagecolorallocate($image,mt_rand(40,255),mt_rand(40,255),mt_rand(40,255));
imagesetpixel($image, mt_rand(0,$width), mt_rand(0,$height), $color2);
}
header('Content-Type:image/png');
imagepng($image);
imagedestroy($image);
return $str;
}
//要查看效果记得调用一下函数
test_session($width=100,$height=30,$type=2,$length=4,$fize='D:\wamp64\www\project01\session.test.php\STXINGKA.TTF');//但是在html的img src路径里调用这个函数时,这个调用可以不额外写,因为在html引用这个函数本身就是一次调用
?>
单独看效果,需要额外调用一下函数
设置cookie的时候 控制台输入的内容也是严格区分大小写的,你试试Cookie.set('username','king',5);
过期时间?
有些老师放上去了的 就可以下载 有些没放就下载不了 还是自己照着敲一遍代码比较好
session_set_save_handler
123
我的也是 好像php7版本 应用不了 这个 总是提示问题 无法要求返回false/true 和无法储存初始化模块
你这么写是错的吧,mysqli_affected_rows里面不应该是个查询出来的资源么。。。
某些符号放到URL里传输必须进行编码,比如@要转成%40,+要转成%2b。PHP可以通过urlencode和urldecode进行编码/解码 URL 字符串
缺少参数,mysqli_num_rows($link,$ret);mysql是一个参数,mysqli必须得有mysqli的实例作为第一个参数
啥插件哦
添加的