$_SERVER['DOCUMENT_ROOT']指向了web服务器文档树的根。(E:/wamp/www/)

**********************************************************************************************************************************************

!defined('CURSCRIPT') && define('CURSCRIPT', ''); 的含义是:如果CURSCRIPT 没定义,就定义CURSCRIPT为空。
**********************************************************************************************************************************************

将变量输出到文本:

file_put_contents("./test.log","$_POST");
file_put_contents("./test.log","$_POST",FILE_APPEND);    //FILE_APPEND :如果文件 filename 已经存在,追加数据而不是覆盖。

输出数组:
$str='';
foreach ($arr as $key=>$value){
$str .= $key.'='.$value."\n";
}
file_put_contents("c:/test.log","$str");

**********************************************************************************************************************************************

后台T型布局:


**********************************************************************************************************************************************

JS实现返回上一页的按钮:

<input type="button" onclick="javascript:history.go(-1);" value="返回上一页"/>
**********************************************************************************************************************************************

在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

可是类似于这样的变量$_SESSION['pid'],插入到字符串中回报语法错误,此时可以在变量外包裹{}解决:
echo "dsfsdf {$_SESSION['pid']} fsfds";

**********************************************************************************************************************************************


PHP拾贝的更多相关文章

  1. iOS多线程拾贝------操作巨人编程

    iOS多线程拾贝------操作巨人编程 多线程 基本 实现方案:pthread - NSThread - GCD - NSOperation Pthread 多平台,可移植 c语言,要程序员管理生命 ...

  2. AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

    书海拾贝之特殊的ng-src和ng-href 在说明这两个指令的特殊之前,需要先了解一下ng的启动及执行过程,如下: 1) 浏览器加载静态HTML文件并解析为DOM: 2) 浏览器加载angular. ...

  3. python: 爬取[博海拾贝]图片脚本

    练手代码,聊作备忘: # encoding: utf-8 # from __future__ import unicode_literals import urllib import urllib2 ...

  4. python 拾贝

    1. 内建的 type() 函数带三个参数时, 将作为强悍的动态类构造器. 如下:   type(name, bases, dict) 返回一个新的type对象. 基本上是 class 语句的动态形式 ...

  5. 技海拾贝 - Android

    1. 前台Service - 介绍: http://blog.csdn.net/think_soft/article/details/7299438 - 代码实例:  http://blog.csdn ...

  6. 技海拾贝 - Java

    1. Java中的多线程 http://blog.csdn.net/luoweifu/article/details/46673975 Java中继承thread类与实现Runnable接口的区别 h ...

  7. DDD:《实现领域驱动》拾贝(待续)

    Design is not just what it looks like and feels like. Design is how it works.

  8. AngularJS进阶(三十三)书海拾贝之简介AngularJS中使用factory和service的方法

    简介AngularJS中使用factory和service的方法 AngularJS支持使用服务的体系结构"关注点分离"的概念.服务是JavaScript函数,并负责只做一个特定的 ...

  9. .Net Discovery 系列之七--深入理解.Net垃圾收集机制(拾贝篇)

    关于.Net垃圾收集器(Garbage Collection),Aicken已经在“.Net Discovery 系列”文章中有2篇的涉及,这一篇文章是对上2篇文章的补充,关于“.Net Discov ...

  10. [码海拾贝 之Perl]在字符串数组中查找特定的字符串是否存在

    前言 检索一个字符串是否存在于一个数组中, 最主要的想法应该就是对数组进行循环, 逐个推断数组的每一个元素值和给定的值是否相等. (在Java语言还能够把数组转成 List , 在 list 中直接有 ...

随机推荐

  1. Webpack 基础使用

    使用webstorm编译: 1.新建一个工程(最基本的工程) 2.在webstorm的控制台,使用命令行     cnpm install webpack  -g  全局安装 3.安装完后,可以使用 ...

  2. R: 数据结构、数据类型的描述。

    ################################################### 问题:数据结构..类型  18.4.27 有哪些数据结构.类型??  各自有什么特点? 解决方案 ...

  3. jquery 规范

    使用单引号 不推荐 $("div").html("<img src='1.jpg'>"); 推荐 $('div').html('<img sr ...

  4. 7.30实习培训日志-SQL优化

    总结 今天早上考试,下午主要是老师引导我们学习SQL优化,晚上主要是同学的技术分享,杨松柏同学主要给我们分享了java的io的一些东西,c10k问题,bio(同步阻塞IO),NIO(同步非阻塞IO), ...

  5. hdu1080

    #include<iostream> using namespace std; char s1[105],s2[105]; int val[5][5]={ {5,-1,-2,-1,-3}, ...

  6. layui js中求某一天距今天有多少天

    <script> lay('#version').html('-v'+ laydate.v); //执行一个laydate实例 laydate.render({ elem: '#test1 ...

  7. C# 写 LeetCode easy #26 Remove Duplicates from Sorted Array

    26.Remove Duplicates from Sorted Array Given a sorted array nums, remove the duplicates in-place suc ...

  8. 详细讲解MapReduce二次排序过程

    我在15年处理大数据的时候还都是使用MapReduce, 随着时间的推移, 计算工具的发展, 内存越来越便宜, 计算方式也有了极大的改变. 到现在再做大数据开发的好多同学都是直接使用spark, hi ...

  9. Protocol Buffers官方文档(开发指南)

    本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocol buffers简介 ...

  10. c++第四次实验2

    Part 1 车辆基本信息管理 1.代码 #include<iostream> using namespace std; #include"car.h" #includ ...