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

php-CMS安装代码逻辑

程序员文章站 2022-05-15 09:47:52
...
实现php后台安装数据库等一些操作,代码简单的写的。很多东西还不完善,请大家多多支持,意见可以写在评论中。
install.php
--------------------------------------------------------------------------->




系统安装界面




/******************************************************
* 系统安装界面 *
* 所有者:allens stevon *
* 日期:2015/5/6 *
******************************************************/

/**
*@系统安装类
*@生成数据库,生成初始化数据
*/
header("Content-type: text/html; charset=utf-8");
$reg = false;

class Install
{

private $con; //数据库连接
private $dbhost = 'localhost'; //数据库端口
private $dbusername = 'root'; //数据库名称
private $dbpw = ''; //数据库密码
public $db = 'cute'; //db名称

//构造方法
function __construct()
{
//判断数据库是否连接成功
if (!($this->con = @mysql_connect($this->dbhost,$this->dbusername,$this->dbpw)))
die('Could not connect: ' . mysql_error());
else{
echo "连接成功
";
$this->createdb();
}
}

//销毁函数
function __destruct(){

//判断是否连接上数据库
if($this->con){
//在类结束的时候关闭数据库连接
if(!$close = @mysql_close($this -> con))
die('
Could not close db');
}
}

//生成数据库
private function createdb(){

$i = 0;
//数据库名称
$queryinfo = array(
0 => '创建'.$this->db,
1 => '使用'.$this->db,
2 => '创建'.$this->db . '_user',
3 => '创建访问权限表'.$this->db.'_access',
4 => '创建权限表' . $this->db . "_node",
5 => '创建权限表' . $this->db . "_role",
6 => '创建'.$this->db.'_role_user',
7 => '创建栏目表'. $this->db .'_caid',
);

$filename = "data/testdata.sql";
$sql=file_get_contents($filename); //把SQL语句以字符串读入$sql
$sql = str_replace('premax', $this->db, $sql);

file_put_contents($filename, $sql);

//设置分隔符
$a=explode("-- **",$sql); //用explode()函数把‍$sql字符串以“;”分割为数组

foreach($a as $b){ //遍历数组

$c=$b; //分割后是没有“;”的,因为SQL语句以“;”结束,所以在执行SQL前把它加上

if(@mysql_query($c)){ //执行SQL语句
echo $queryinfo[$i++]."操作成功..
";
} else
echo $queryinfo[$i++].'操作失败..' . mysql_error() . "
";

}
echo "

完成所有操作

";
echo "

进入后台进入前台

";

}



}
if(array_key_exists('supermanager', $_POST) && array_key_exists('superpw', $_POST)){
if(!$_POST['supermanager'] == "" && !$_POST['superpw'] == ''){
$reg = true;
$install = new Install();
mysql_select_db($install->db);
$sql = 'insert into ' . $install->db . "_user(username,password)" . " values('" . $_POST["supermanager"] . "','".md5($_POST['superpw'])."')";

if($result = mysql_query($sql))
echo "创建超级管理员成功";
else
echo "创建超级管理员失败";
} else
echo "请输入帐号密码再提交";
}
?>

if(!$reg){
?>

注册超级管理用户













超级管理员:
管理员密码:





}
?>

---------------------------------------------------------------------------
testdata.sql-- 创建数据库
CREATE DATABASE IF NOT EXISTS cute;
-- **
-- 使用此数据库
use cute;
-- **
-- 创建User表
CREATE TABLE IF NOT EXISTS cute_user (
`id` smallint(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`headpic` varchar(100) DEFAULT null,
`password` varchar(30) NOT NULL,
`status` tinyint(10) NOT NULL DEFAULT 1,
`remark` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- **
-- 创建访问权限表
CREATE TABLE IF NOT EXISTS `cute_access` (
`role_id` smallint(6) unsigned NOT NULL,
`node_id` smallint(6) unsigned NOT NULL,
`level` tinyint(1) NOT NULL,
`module` varchar(50) DEFAULT NULL,
KEY `groupId` (`role_id`),
KEY `nodeId` (`node_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- **
CREATE TABLE IF NOT EXISTS `cute_node` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`title` varchar(50) DEFAULT NULL,
`status` tinyint(1) DEFAULT '0',
`remark` varchar(255) DEFAULT NULL,
`sort` smallint(6) unsigned DEFAULT NULL,
`pid` smallint(6) unsigned NOT NULL,
`level` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `level` (`level`),
KEY `pid` (`pid`),
KEY `status` (`status`),
KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- **
CREATE TABLE IF NOT EXISTS `cute_role` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`pid` smallint(6) DEFAULT NULL,
`status` tinyint(1) unsigned DEFAULT NULL,
`remark` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `pid` (`pid`),
KEY `status` (`status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
-- **
CREATE TABLE IF NOT EXISTS `cute_role_user` (
`role_id` mediumint(9) unsigned DEFAULT NULL,
`user_id` char(32) DEFAULT NULL,
KEY `group_id` (`role_id`),
KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- **
-- 后台主体栏目表 --
CREATE TABLE IF NOT EXISTS `cute_caid` (
`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`title` varchar(50) DEFAULT NULL,
`status` tinyint(1) DEFAULT '0',
`remark` varchar(255) DEFAULT NULL,
`sort` smallint(6) unsigned DEFAULT NULL,
`href` varchar(150) not null,
`pid` smallint(6) unsigned NOT NULL,
`level` tinyint(1) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `level` (`level`),
KEY `pid` (`pid`),
KEY `status` (`status`),
KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
下载代码在下方

php-CMS安装代码逻辑 Install.rar ( 3.4 KB 下载:32 次 )

AD:真正免费,域名+虚机+企业邮箱=0元