PHP Session使用方法Session 应用实例

 更新时间:2016年11月25日 15:56  点击:2027
SESSION是一个服务器全局变量,常用于用户登陆,购物车实例,用在一些安全要求比较高的应用中。 session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库),PHP.ini 的权限,默认 session 的存放路径是服务器的系统临时文件夹

/*
SESSION简单说明
 SESSION是一个服务器全局变量,常用于用户登陆,购物车实例,用在一些安全要求比较高的应用中。
 session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库教程),PHP.ini 的权限,默认 session 的存放路径是服务器的系统临时文件夹

Session 使用方法

 如何创建 session? 非常简单,真的。启动 session 会话,并创建一个 $useradmin 变量

 代码如下 复制代码

 <?
  session session_start();
  $_session["admin"] = 'www.111cn.net';
  session_unset();
  session_destroy();

 ?>

session实例应用的一个简单的实例
 create table session_test(
  admin(20) not null default '',
  pwd(20) not null default ''  
 )type = mysima;
 
 插入一条数据
 insert into session_test values('admin','123456');
*/

//用户登陆

 代码如下 复制代码

$db ='abc';
$c = mysql教程_connect('localhost','root','123456');

$sql = "Select * from session_test where admin= '$admin' and pwd='$pwd'";
$result = mysql_db_query($db,$sql,$c);

if( mysql_num_rows( $result ) )
{
 $rs = mysql_fetch_array( $result );
 $_SESSION['admin'] = $admin; 
}
else
{
 exit('用户名密码不正确');
}

//好上面的登陆实例完成了,现在我们来判断用户是否为登陆状态,如果是就进入相关页面

 代码如下 复制代码
if( isset( $_SESSION['admin'] ) && isset( $_SESSION['admin'] != '' ) )
{
 header('location:http://www.111cn.net'); //判断了session的admin是有值的所以进行跳转
}
else
{
 exit('未登陆');
}

// 下面我们再退出登陆状态

 代码如下 复制代码
  $_session["admin"] = '';
  //或
  session_unset();
  //或
  session_destroy();

//本站原创文章转载注明来自www.111cn.net
?>

HTTP_REFERER这个是作用是返回上一个页面地址包,但有时会取不到,我们可以模仿它来做下面来看二种在正常的$_SERVER[\\\'HTTP_REFERER\\\']取不到值的处理方法。

//简单关于HTTP_REFERER一

 代码如下 复制代码

$phpSelf = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];

$queryString = '';
if (!empty($_SERVER['QUERY_STRING']))
{
 $queryString = '?' . $_SERVER['QUERY_STRING'];
}

echo $phpSelf . $queryString;

//实例教程二 HTTP_REFERER二

 代码如下 复制代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost/test.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER,   'http://www.baidu.com');
$data = curl_exec($ch);
curl_close($ch);
echo $data;

/* http://www.111cn.net/test.php */
die($_SERVER['HTTP_REFERER']);

expr1 为条件的初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断

/*
for 语法

 代码如下 复制代码
for (expr1; expr2; expr3) {
  statement
}

 

下面看for实例教程

*/

 代码如下 复制代码
$for = array(1,2,3,4,5,6);
$forFor = array(
    array(1),
    array(2),
    array(3)
    );

    
//先来看看用for循环一组数据的实例

 代码如下 复制代码

$arrayLen = sizeof( $for );

for( $i = 0; $i< $arrayLen ;$i++ )
{
 echo $for[$i],'<br>';
}


/*
结果
1
2
3
4
5
6
这是我们想要的结果

for 来处理二维数组

 代码如下 复制代码
*/
for( $j=0;$j<$arrayLen;$j++ )
{
 //echo ($forFor($j));
}

// 出现Fatal error: Function name must be a string in提示

//我们换一种用户用foreach来实例

 代码如下 复制代码
foreach( $forFor as $v => $vv )
{
 print_r($vv);
}

/*
输出
(
    [0] => 1
)
Array
(
    [0] => 2
)
Array
(
    [0] => 3
)
正好是我们想要的数据,

总结
每个语句都有自己用途,我们要看如何更合理的去使用适合你当前操作的函数来快速的完成你的工作。
从上面来看for适合一维数据,并且单一的循环,foreach可以操作一维数据二维数据等。

本站原创文章转载注明来自www.111cn.net/phper/php.html

*/

//删除目录下文件方法一

 代码如下 复制代码

function clean_dir($path)        {
        if (!is_dir($path))        {
                if (is_file($path))        {
                        unlink($path);
                }
                return;
        }
        $p=opendir($path);
        while ($f=readdir($p))        {
                if ($f=="." || $f=="..") continue;
                clean_dir($path.$f);
        }
        rmdir($path);
        return;
}
//

function delFile($path,$level = 0) {

// $path $file

//删除目录下所有文件实例二

$file = "";

$lev = 0;

$dir = @opendir($path);

while($con = @readdir($dir)) {

  if($con != "." && $con != ".." && $con != "") {

   $file = $path."/".$con;

   if(is_dir($file)) {

    $lev = delFile($file,$level++);

    @rmdir($file);

   } else {

    @unlink($file);

   }

  }

}
for($i=0;$i<$lev;$i++) {

  delFile($path,$level);

}

@rmdir($path);

return $level;

}

delFile("./www.111cn.net");


//目录遍历函数

 代码如下 复制代码
function dirtree($path="./test") {
  echo "<dl>";
  $d = dir($path);
  while(false !== ($v = $d->read())) {
    if($v == "."
$v == "..")
      continue;
    $file = $d->path."/".$v;
    echo "<dt>$v";
    if(is_dir($file))
      dirtree($file);
  }
  $d->close();
  echo "</dl>";
}

dirtree();

//php的文件系统函数比起asp教程来要强多了,删除目录所有文件只要用unlink就行了,我们只要对目录对遍历再is_file就OK了。
//本站整理转载注明www.111cn.net

 代码如下 复制代码
function DeltreeDir($dir)  {
$dir = realpath($dir);
        if (!$dir || !@is_dir($dir))
                return 0;
        $handle = @opendir($dir);
        if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR)
                $dir .= DIRECTORY_SEPARATOR;
        while ($file = @readdir($handle))    {
                if ($file != '.' && $file != '..')         {
                        if (@is_dir($dir . $file) && !is_link($dir . $file))
                                DeltreeDir($dir . $file);
                        else
                                @unlink($dir . $file);
                }
        }
        closedir($handle);
        @rmdir($dir);
}

//实例二

//循环删除目录和文件函数

 代码如下 复制代码
function delDirAndFile( $dirName )
{
if ( $handle = opendir( "$dirName" ) ) {
  while ( false !== ( $item = readdir( $handle ) ) ) {
   if ( $item != "." && $item != ".." ) {
   if ( is_dir( "$dirName/$item" ) ) {
   delDirAndFile( "$dirName/$item" );
   } else {
   if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br /> ";
   }
   }
   }
   closedir( $handle );
   if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br /> ";
}
}

// 实例三

 代码如下 复制代码
function delFileUnderDir( $dirName="../Smarty/templates/templates_c" )
{
if ( $handle = opendir( "$dirName" ) ) {
   while ( false !== ( $item = readdir( $handle ) ) ) {
   if ( $item != "." && $item != ".." ) {
   if ( is_dir( "$dirName/$item" ) ) {
         delFileUnderDir( "$dirName/$item" );
   } else {
   if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br /> ";
   }
   }
   }
   closedir( $handle );
}
}

delDirAndFile( 'www.111cn.net');

//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。

 

[!--infotagslink--]

相关文章

  • PHP session_start()很慢问题分析与解决办法

    本文章来给各位同学介绍一下关于PHP session_start()很慢问题分析与解决办法,希望碰到此问题的同学可进入参考。 最近在做东西的时候发现一个问题 有一个接口挂...2016-11-25
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合...2014-05-31