session

    xiaoxiao2021-04-12  37

    前言:MD5是在web应用程序中最常用的加密算法,在大多数数据库管理系统中,用户的密码都是以MD5值的

         方式保存观察家数据库中的,目的是提高用户登录的安全性

    1.       MD5()

    作用:计算字符串的MD5 hash值

    格式:string  md5(string $str  [, bool $row_output=false])

    参数:$row_output=TRUE, 如果row_output被设置为TRUE,则MD5摘要以原始的二进制格式输出(16bit长)

    返回值:返回32字符的16进制hash值

    例:<?php $str='apple';

    if (md5($str)==='1f3870be274f6c49b3e31a0c6728957f') { echo "Would you like a greenor red apple?";

    }

    ?>

    2.示例程序:

    1). Index.php

    <html>

    <head>

    <meta http-equiv="Content-Type"content="text/html; charset=gb2312">

    <title>安全登录</title>

     </head>

    <body>

    <div align="center">

    <scriptlanguage="javascript">

    function login(){

     if(myform.name.value=="")

         {alert("用户名称不能为空!!");myform.name.focus();return false;}

     if(myform.pwd.value=="")

        {alert("用户密码不能为空!!");myform.pwd.focus();return false;}

      }

    </script>

     

    <form name="myform" method="post"action="chkadmin.php">

     <table width="778" height="314"border="0" cellpadding="0" cellspacing="0">

           <tr>

             <td height="31"> </td>

             <td align="center">管理员</td>

             <td><input name="name" type="text"id="name" size="16"></td>

             <td> </td>

           </tr>

           <tr>

             <td height="35"> </td>

             <td align="center">密  码</td>

             <td><input name="pwd" type="password"id="pwd" size="16"></td>

             <td> </td>

           </tr>

           <tr>

             <td height="34"> </td>

             <td> </td>

             <td align="right">

               <input name="imageField" type="image"src="images/btn_dl.jpg" width="87" height="24"border="0" onClick="return login();">

             </a> </td>

             <td> </td>

           </tr>

           <tr>

             <td height="87"> </td>

              <td> </td>

             <td> </td>

             <td> </td>

           </tr>

         </table>

     </form>

     </div>

    </body>

    </html>

    2).chkadmin.php

    <?php

    session_start();

     classchkinput{

       var$name;

       var$pwd;

     

      function chkinput($x,$y){

        $this->name=$x;

        $this->pwd=$y;

        }

     

      function checkinput(){

        include "conn/conn.php";

        $sql=mysql_query("select * from tb_admin wherename='".$this->name."'");

        $info=mysql_fetch_array($sql);

        if($info==false){

             echo "<script language='javascript'>alert('不存在此管理员!');history.back();</script>";

             exit;

          }

         else{

             if($info[pwd]==$this->pwd){

                                     $_SESSION[admin_name]=$info[name];

                echo "<script language='javascript'>alert('恭喜您,登录成功!');window.location.href='index.php';</script>";

               }

             else{

                echo "<script language='javascript'>alert('密码输入错误!');history.back();</script>";

                exit;

              }

         }   

       }

     }

     

       $obj=new chkinput(trim($_POST[name]),trim(md5($_POST[pwd])));

       $obj->checkinput();

    ?>

     

    3). Conn.php

    <?php

               $link=mysql_connect("localhost","root","root")or die("数据库连接失败".mysql_error());

               mysql_select_db("db_database18",$link);

               mysql_query("setnames gb2312");

    ?>

     

    4).mysql数据库中插入md5(‘string’)

    mysql> insert into tb_admin(name,pwd)values ("test",md5('test'));

    Query OK, 1 row affected (0.00 sec)

     

    2.trim()

    作用:去除字符串首尾处的空白字符(或其它字符)

    格式:stringtrim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )

    返回值:返回字符串str去除首尾空白字符后的结构

    参数说明:如果不指定第二个参数,trim()将去除这些字符

    " " (ASCII 32 (0x20)),普通空格符。        "\t" (ASCII 9 (0x09)),制表符。

    "\n" (ASCII 10 (0x0A)),换行符。           "\r" (ASCII 13 (0x0D)),回车符。

    "\0" (ASCII 0 (0x00)),空字节符。          "\x0B" (ASCII 11 (0x0B)),垂直制表符。

     

    3.session_start()

    作用:创建新会话或者重用现有会话,如果通过GET或POST方式或使用cookie提交了会话ID,则会重用现有会话

    格式:bool  session_start(void)

    说明:当会话通过session_start()开始时,PHP内部会调用会话管理器的open()和read()回调函数,会话管理器可能

         SQLite或memcached。通过read回调函数返回现有会话数据,PHP会填 充$_SESSION全局变量

    返回值:成功开始会话返回TRUE,反之返回FLASE

    例:

    Page1.php

    <?php

      Session_start();

      $_SESSION[‘animal’]=’cat’;

      $_SESSION[‘time’]=time();

     

      //使用cookie方式传送会话ID

    echo ‘<br /> <a href=”page2.php”>page2</a>’;

      //请求page1.php页面之后,第二个页面

      //page2.php会包含会话数据

    ?>

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Page2.php

    <?php

    Session_start();

      echo $_SESSION[‘animal’];  //cat

      echo date(‘Y m d H:i:s’,$_SESSION[‘time’]);

    ?>

     

     

     

     

    转载请注明原文地址: https://ju.6miu.com/read-667674.html

    最新回复(0)