最近研究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
---------------------------------