欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php实战第六天

程序员文章站 2022-05-30 10:50:12
...
今天学习了做后台页面,很失败就不展示了。

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


[php] error_reporting(E_ALL&~E_NOTICE);

error_reporting(E_ALL&~E_NOTICE);
开启session的方法,开启后就可以使用$_SESION咯。

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

[php] session_start();

session_start();
如果浏览器禁用了cookies那也不要紧,可以把session写到URL里就好咯.嘿嘿

[php] session_name.'='.session_id()

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 "";
}else{
echo "";
}
}

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 "";
$_SESSION['login']=true;

}else{

echo "登录失败";
}
}

$this->display();
}

public function ulogin()
{
echo "";
unset($_SESSION);
}

public function admin()
{
if(!$this->is_login()){
echo "";
}
//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());
*/
}

}
?>

/**
*
**/
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 "";
}else{
echo "";
}
}

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 "";
$_SESSION['login']=true;

}else{

echo "登录失败";
}
}

$this->display();
}

public function ulogin()
{
echo "";
unset($_SESSION);
}

public function admin()
{
if(!$this->is_login()){
echo "";
}
//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]


瀑布流留言板 后台登陆










瀑布流留言板 后台登陆








登陆成功后用的 admin.html


[html]


欢迎






欢迎



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


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


[php] /**
+----------------------------------------------------------
* 获取数据表的单条记录,返回一维数组
+----------------------------------------------------------
* @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 '
----->'.$select_sql.'';
return $this->query($select_sql)[0];
}

/**
+----------------------------------------------------------
* 获取数据表的单条记录,返回一维数组
+----------------------------------------------------------
* @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 '
----->'.$select_sql.'';
return $this->query($select_sql)[0];
}