php实战第六天_PHP教程
今天学习了做后台页面,很失败就不展示了。
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 "<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());
*/
}
}
?>
/**
*
**/
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]
登陆成功后用的 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];
}

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。
