PHP拾贝
$_SERVER['DOCUMENT_ROOT']指向了web服务器文档树的根。(E:/wamp/www/)
**********************************************************************************************************************************************
将变量输出到文本:
$str=''; foreach ($arr as $key=>$value){ $str .= $key.'='.$value."\n"; } file_put_contents("c:/test.log","$str");
后台T型布局:
JS实现返回上一页的按钮:
在HTML里怎么给普通按钮添加超链接?
<input type="button" value="跳转按钮" onclick="javascript:window.location.href='abc.html';"/>**********************************************************************************************************************************************
用php在页面之间传递数组:
实现大致思路:将数组转化成字符串,可以用get方式作为一个参数来传递到另外一个页面,接受后再将字符串转成数组即可。代码如下:
a.php
<?php $parm=array('0'=>111,'1'=>'test','2'=>true); $arg=implode(":",$parm); $link="b.php?arg=$arg"; echo "<a href='$link'>将数组以参数方式传递给b</a>"; ?>b.php
<?php $arg= $_GET['arg']; $parm=explode(":", $arg); print_r($parm); ?>最终输出:Array( [0] => 111 [1] => test [2] => 1)
使用POST方式提交。应该用以下方法写表单代码(注意name是text[])。
<input name="text[]" value="1"> <input name="text[]" value="2">提交以后得到一个名为 text 的数组。
你可以用 print_r($_POST); 查看接收到的结果。
**********************************************************************************************************************************************
mysqli::query()的使用:
如果成功则返回 TRUE,失败则返回 FALSE。
mysqli_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。例:
$result=$this->conn->query($sql);//返回的结果是资源类型 //将结果集转换为数组: $array = array(); //只有一条记录的时候 $array=$result->fetch_array();//$array是一维数组 //当结果集中的记录有多条的时候 while($row=$result->fetch_array()){ $array[]= $row; //$array是二维数组 }***************************************************************************************************************************************************
防止用户越过登陆界面,直接输入网址进入用户操作页面:
当用户登陆时,添加代码:
session_start();
$_SESSION["isok"]="ok";//在登陆时把“ok”存入session
在用户操作页面的开始处加上代码:
session_start();
if($_SESSION["isok"]!="ok"){exit;}//如果session中没有包含“ok”则退出。
***************************************************************************************************************************************************php脚本中提示一个信息之后跳转到指定页面:
echo "<script>alert('一个信息');location.href='index.php';</script>";
exit; / exit(); / die(); / die;
php脚本中的exit;语句的作用是结束当前脚本,也就是说当代码执行到exit时将不再向下执行,相当于java中的break;
PHP获取当前url路径的函数及服务器变量:
1.$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2.$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI,获取当前请求的完整的(除域名的)url
3.$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4.$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1.http://www.biuuu.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"] = "/"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"
2.http://www.biuuu.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"] = "/?p=222"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"
3.http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = "p=222&q=biuuu"
$_SERVER["REQUEST_URI"] = "/index.php?p=222&q=biuuu"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"] = "/index.php"
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名
当前url:"http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']
根据用户权限判断是否显示某一条目:
<?php if($_SESSION["rights"]==1){//用户权限为1时,用户界面显示【管理员管理】 ?> <li><a href="admin.php" target="main">管理员管理</a></li> <?php } ?>
***************************************************************************************************************************************************
用户重新登录的问题:
当修改密码后要求用户重新登录,如果session中的数据仍然存在的话,那么浏览器就会跳过登录页面直接进入用户页面
session_destroy();//销毁已存储的session 数据
echo "<script>alert('密码修改成功,请重新登录');top.location.href='login.php';</script>";
隐式提交用户名:
<input name="username" type="hidden" id="username" size="30" value="<?php echo $_SESSION["username"];?>"/>
<?php echo $_SESSION["username"];?>
js验证输入的信息:
<script> function test(){ if(document.admin.username.value==''){ alert('请输入管理员账号'); return false; } if(document.admin.password.value==''){ alert('请输入管理员密码'); return false; } return true; } </script> <form name="admin" id="admin" method="POST" action="admin_addSava.php" onsubmit="return test();">
循环输出复选框:
aaa.php文件:
<form action="idd.php" method="post"> <?php for($i=1;$i<5;$i++){ ?> <input name="id[]" type="checkbox" value="<?php echo $i;?>" />复选框<?php echo $i;?><br/> <?php } ?> <input type="submit" name="button" id="button" value="确定" /> </form>
bbb.php文件:
<?php $value=$_POST['id'];//$value是一个数组 //echo($value); var_dump($value); foreach($value as $v){ echo "<br/>$v"; } ?>
输出:array(2) { [0]=> string(1) "2" [1]=> string(1) "3" }
2
3
只查看某一状态的部分代码实现:
<?php require_once '../plus/DbMysql.php'; $db= new DbMysql(); $sql="select * from user"; //基本语法 $parm=" where 1 "; //条件 //条件增加 $zt=@$_GET["zt"]; if($zt!=""){ $parm.=" and zt='$zt'"; } $sql.=$parm; $db->sql($sql); $infocount=$db->affected(); //信息总数量 $pagesize=5; //每页显示数量 $page = new page($infocount, $pagesize); $sql.=$page->limit(); $result=$db->select($sql); ?>
......
查看:<a href='user.php'>全部</a> <a href="?zt=1">待审核</a> <a href="?zt=3">锁定</a> <a href="?zt=2">正常</a></div>
查询的部分代码实现:
user.php文件:
<?php ...... if($key!=""){ $parm.= " and ".$stype." like '%$key%' "; } $sql.=$parm; ...... ?> <form action="user.php" method="get" name="userso" onsubmit="return test();">//test()判断是否输入内容 用户名: <select name="stype" id="stype"> <option value="username">用户名</option> <option value="email">邮箱</option> <option value="xingming">真实姓名</option> </select> <input name="key" type="text" id="key" /> <input name="" type="submit" value="搜索" /> </form>
批量审核的代码实现:
<script> function plzt(n){ document.userinfo.zt.value=n; document.userinfo.action="user_ztshenhe.php"; document.userinfo.submit();//js中提交表单 } </script> ..... <form action="user_alldel.php" method="post" name="userinfo"> ...... <input type="submit" value="批量删除" /> <input type="button" name="button" id="button" value="批量审核" onclick="plzt(2)" /> <input type="button" name="button2" id="button2" value="批量待审核" onclick="plzt(1)" /> <input type="button" name="button3" id="button3" value="批量锁定" onclick="plzt(3)" /> <input type="hidden" name="zt" id="zt" />
点击“批量审核”按钮后:user_ztshenhe.php文件中会通过post方式获取提交的id(数组)和zt,然后更改数据库的相应字段。
按类别显示内容的部分代码实现:
<select name="select" id="select" onchange="javascript:location.href=this.options[selectedIndex].value"> <option value="feedback.php">查看全部</option> <?php $typeInfo = $db->select("select id,typename from feedbackType where typezt=1 order by typeorder "); foreach($typeInfo as $row){ if($typeid==$row["id"]){//为了实现:选择某一类别后,该类别名称默认显示在红圈处 echo "<option value='?typeid=".$row["id"]."' selected>".$row["typename"]."</option>"; }else{ echo "<option value='?typeid=".$row["id"]."'>".$row["typename"]."</option>"; } } ?> </select>
在父页面中添加内容:
parent.php文件: <form action="aaa.php" method="POST" name="admin" id="admin" onsubmit="return test();"> ...... <tr id="logotr"> <td>图片地址:</td> <td> </td> <td><input name="picurl" type="text" id="picurl" size="30" /></td> <td> <iframe src="son.php" frameborder="0" width="350" height="30"></iframe> </td> </tr> ...... </form> son.php文件: echo "<script>parent.document.admin.picurl.value='要在图片地址栏目的文本框中添加的内容';</script>";
双引号内解析php变量:
<?php $a = 123; echo "dsfsdf $a fsfds"; ?>正常来说,双引号内的变量会自动解析,输出:dsfsdf 123 fsfds