sessionfunctionphp实战第六天

最近研究sessionfunction,稍微总结一下,以后继续补充:

    今天学习了做后台页面,很失败就不展示了。

    php方面:以下代码可以屏蔽php注意级别的错误,即 抛出任何非注意错误

error_reporting(E_ALL&~E_NOTICE);

    开启session的方法,开启后就可以应用$_SESION咯。

    session是保存在服务端的东西噢。启动后会给 浏览器发送一个 session的ID,是cookies方法的

session_start();

    如果浏览器禁用了cookies那也没关系,可以把session写到URL里就好咯.嘿嘿

session_name.'='.session_id()

 附上我写好的 adminAction,只有登岸功能哦

<?php
	/**
	 * 
	 **/
	class adminAction extends Action
	{
		protected $db='';
		function __construct()
		{
			// code...
			// //$smarty->force_compile = true;
			/*$this->db = new MySQL("127.0.0.1","root","1234","myly","data");
			$this->db->table('data');*/
			$this->db = MySQL::getClass();
			//var_dump($this->db);
			$this->db -> connect("127.0.0.1","root","1234","myly");

			$this->db -> table('user');

			parent::__construct();
		}

		public function index()
		{
			if($this->is_login()){
				echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>";
			}else{
				echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
			}
		}

		private function is_login()
		{
			return $_SESSION['login'];

		}

		public function login()
		{
			if (!empty($_POST['userName']) && !empty($_POST['password'])) {
				$userName=$_POST['userName'];
				$password=md5($_POST['password']);
				/*var_dumP($_POST);
				var_dump($password);
				var_dump($password);*/
				if($_SESSION['userData']=$this->db->where("userName='{$userName}' and password='{$password}'")->fine()){
					echo "<script>window.location.href='admin.php?m=admin&a=admin';</script>";
					$_SESSION['login']=true;
					
				}else{

					echo "登录失败";
				}
			}

			$this->display();
		}

		public function ulogin()
		{
			echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
			unset($_SESSION);
		}

		public function admin()
		{
			if(!$this->is_login()){
				echo "<script>window.location.href='admin.php?m=admin&a=login';</script>";
			}
			//var_dump($_SESSION);
			$this->assign('userName',$_SESSION['userData']['userName']);
			$this->display();
		}

		function add(){
			/*var_dump($this->db
				->data(
					array('userName' => 'admin',
						  'password' => md5('admin'),
						  'time'     => time()
				))
				->add());
				*/
		}
		
	}
?>
    每日一道理
漫漫人生路,谁都难免会遭遇各种失意或厄运。在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的。风再冷,不会永远不息;雾再浓,不会经久不散。风息雾散,仍是阳光灿烂。

    提交表单用的 login.html

<html>
<head>
	<title>瀑布流留言板 后台登岸</title>
</head>
<body>
	<form action="admin.php?m=admin&a=login" method="post">
		<input type="text" name="userName" value="admin">
		<input type="password" name="password" value="admin">
		<input type="submit" value="登岸">
	</form>
</body>
</html>

    登岸成功后用的 admin.html

<html>
<head>
	<title>欢迎 <{$userName}></title>
</head>
<body>

</body>
</html>

    这个就是我的登岸功能了。

    

    修改了 mysql.class.php 加了一个函数 fine,这样返回的数组就是 一维的咯,方便些

/**
     +----------------------------------------------------------
     * 获得数据表的单条记载,返回一维数组
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param 
     +----------------------------------------------------------
     */
    public function fine(){
        $select_sql = 'select ';
        $fields = isset($this->query_list['fields'])?$this->query_list['fields']:'*';
        $select_sql.=$fields;
        $select_sql.= ' from `'.$this->query_list['table'].'` ';
        
        isset($this->query_list['join'])?($select_sql.=$this->query_list['join']):'';
        isset($this->query_list['where'])?($select_sql.=' where '.$this->query_list['where']):'';
        isset($this->query_list['group'])?($select_sql.=' group by'.$this->query_list['group']):'';
        isset($this->query_list['having'])?($select_sql.=' mysql having '.$this->query_list['having']):'';
        isset($this->query_list['order'])?($select_sql.=' order by '.$this->query_list['order']):'';
        isset($this->query_list['limit'])?($select_sql.=' 1,1'):'';
        //echo '<br>----->'.$select_sql.'<---------<br>';
        return $this->query($select_sql)[0];
    }

文章结束给大家分享下程序员的一些笑话语录: 开发时间
  项目经理: 如果我再给你一个人,那可以什么时候可以完工?程序员: 3个月吧!项目经理: 那给两个呢?程序员: 1个月吧!
项目经理: 那100呢?程序员: 1年吧!
项目经理: 那10000呢?程序员: 那我将永远无法完成任务.

--------------------------------- 原创文章 By
session和function
---------------------------------

posted @ 2013-05-25 14:06  xinyuyuanm  阅读(167)  评论(0)    收藏  举报