使用超全局变量$_SESSION[]
1.在文件开始时开启:session_start();
2.$_SESSION[]输出结果是数组
3.$_SESSION[]存在缓存中,清理缓存会清除数据
4.可以用来存放常用变量,获取方式为$_SESSION[“键名”]
验证登录
用$_SESSION[]判断登录传过来的值是否为空,如果空则调回登录页面
<?php
session_start();
if($_SESSION["uid"] ==""){
header("location:login.php");
}
?>
当调用多次相同的方法时,可以将方法封装,以后调用文件即可
js常用格式
页面初始化
window.onload = function(){
//初始化页面
initHTML();
}
function initHTML(){
//创建对象
var xhr=new XMLHttpRequest();
//发起请求
xhr.onreadystatechange =function(){
if(xhr.readyState==4){
var str = xhr.responseText;
var arr=str.split("@");
//将ajax传过来的值赋给方法
table(arr[1]);
p(arr[0]);
}
}
xhr.open("post","php/index_php.php");
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//发送数据
xhr.send("type=init");
}
问题:post传值后台接受空值
1.漏写头文件
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
2.传值的变量没有正确的获取到(检查获取变量获取方式)
3.后台接受方式出错(以post传值用get接受)
常用方法
1.php数组转字符串
将二维数组转换成字符串
session_start();
$arr=$_SESSION["data"];
if(empty($arr)){
echo "";
}else{
foreach($arr as $k=>$v){
$attr[]=join(",",$v);
}
echo join("^",$attr);
}
2.js将字符串转换成二维数组
function strToArr(str,fg1,fg2){
//将字符串转成二维数组
var temp = str.split(fg1),
arr = [];
for(var i = 0; i<temp.length;i++){
arr[i] = temp[i].split(fg2);
}
//返回二维数组
return arr;
}
注:
var dianji=prompt("输入购买数量");
prompt自带返回值,可以直接用
array_splice($arr,$k,1);
销毁数组中从第k个下标开始数1个的元素
字符串拼接技巧
先用“”分割前面的字符串,然后加 ++
例: “name 变量 age 变量”
“name “+变量 +” age “+变量
当一个页面需要处理多个ajax时
传一个自定义属性,区分每个传过来的ajax