php项目部署前 初始化dabase

index.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>系统安装向导</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript">
//判断同意按钮是否选择
    function ckAgree(){
       //alert('click');
      var stage=document.getElementById('agree').checked;
      if(!stage){
        alert('请同意服务条款!');
        return;
      }else{
        window.location.href='index.php?cs=setup';
      }
    }
    //提交表单
    function subform(var1){
    var1.action="?cs=success";
    return true;
    }
    function showHint(str){
  if (str.length==0)
    { 
        return;
    }
if (window.XMLHttpRequest)
    {
        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码
        xmlhttp=new XMLHttpRequest();
    }
    else
    {    
        //IE6, IE5 浏览器执行的代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var result=xmlhttp.responseText;
            if(result!=""){
            alert(result);
            }
        }
    }
        xmlhttp.open("GET","gethint.php?q="+str,true);
    xmlhttp.send();
    }
 </script>
</head>
<body>
<?php 
require('page.php');
require('../config/myFunction.php');
if(file_exists("db.lock")){
print $existspage;
return;
}
$cs="";
if(!isset($_GET['cs'])){
$cs='default';
}else{
$cs=$_GET['cs'];
}
//判断输入
switch ($cs)
{
case 'default':
print $defaultpage;
    break;
    case 'setup':
    print $setuppage;
break;
case 'success':
//接收post 数据 并建立相应的表
if($_POST){
$db_host=$_POST['db_host'];
$db_port=$_POST['db_port'];
$db_user=$_POST['db_user'];
$db_pw=$_POST['db_pw'];
$dbpre=$_POST['dbpre'];
$db_name=$_POST['db_name'];
$admin_name=$_POST['admin_name'];
$admin_pw=$_POST['admin_pw'];
  //将数据写入到配置文件中
  file_put_contents("../config/dbcfg.php","\$db_host=\"{$db_host}\";\n",FILE_APPEND);
  file_put_contents("../config/dbcfg.php","\$db_port=\"{$db_port}\";\n",FILE_APPEND);
  file_put_contents("../config/dbcfg.php","\$db_user=\"{$db_user}\";\n",FILE_APPEND);
  file_put_contents("../config/dbcfg.php","\$db_pw=\"{$db_pw}\";\n",FILE_APPEND);
  file_put_contents("../config/dbcfg.php","\$dbpre=\"{$dbpre}\";\n",FILE_APPEND);
  file_put_contents("../config/dbcfg.php","\$db_name=\"{$db_name}\";\n",FILE_APPEND);
// 创建连接
$conn = new mysqli($db_host, $db_user, $db_pw);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$sql="set names utf8";
$conn->query($sql);
$sql="create database if not exists {$db_name}";
$conn->query($sql);
$sql="use {$db_name}";
$conn->query($sql);
$sql="create table {$dbpre}admin (id int primary key auto_increment not null,adm_name varchar(12) not null unique key,adm_pw varchar(20) not null)";
$conn->query($sql);
$sql="insert into {$dbpre}admin (adm_name,adm_pw) values ('{$admin_name}','{$admin_pw}')";
$conn->query($sql);
$conn->close();
//批量执行sql中语句代码
// $sql_cut="##########################################";
// $sql_str=file_get_contents("install.sql") or exit("unable to open file");
// $sql_arr=explode($sql_cut,$sql_str);
// foreach($sql_arr as $e){
// $sql=trim($e);
// $conn->query($sql);
// }
fopen("db.lock","x");
}
print $successpage;
break;
}
?>
</body>

</html>

page.php

<?php
$existspage=<<<existspage
    <h1>数据库已创建,请勿重复创建</h1>
existspage;
$setuppage=<<<setup
<div id="login" >  
        <h1>数据库设置页面</h1>  
        <form method="post" action="" οnsubmit="subform(this)">   
      <table width="100%" border="0" cellspacing="0" cellpadding="0" class="mat10">
      <tr>
        <td align="right" width="100">数据库服务器</td>
        <td>
          <input type="text" name="db_host" value="localhost" class="input200" />
          端口 <input type="text" name="db_port" value="3306" class="input50" />
        </td>
      </tr>
      <tr>
        <td align="right">数据库用户名</td>
        <td>
          <input type="text" name="db_user" class="input200" />
          密码 <input type="text" name="db_pw" class="input150" />
        </td>
      </tr>
      <tr>
        <td align="right">数据库名称</td>
        <td><input οnblur="showHint(this.value)" type="text" name="db_name" class="input200" />
        表前缀
        <input type="text" name="dbpre" value="pre_" class="input200" /> 
        </td>
      </tr>
      <tr>
        <td align="right" width="100" >管理帐号</td>
        <td><input type="text" name="admin_name" class="input200" /> <span class="c888">网站管理员登录帐号</span></td>
      </tr>
      <tr>
        <td align="right">管理密码</td>
        <td><input type="text" name="admin_pw" class="input200" /> <span class="c888">网站管理员登录密码</span></td>
      </tr>
            <tr style="height:60px; margin-top:20px">
        <td></td>
        <td align="center"><input style="height:30px;" type="submit" οnclick="" value="提交注册"/></td>
      </tr>
      </table>
        </form>  
    </div>
setup;
$defaultpage = <<<defaultpage
          <div style="height: 1000px;width:800px; margin:0 auto;margin-top: 20px;">
  <h2 style="text-align: center;">服务条款</h2>
  <div style="height: 640px;width:800px; overflow-y:scroll;  background-color: #fff">
   <pre style="text-align: left"> 
甲乙双方本着相互信任,真诚合作的原则,经双方友好协商,就乙方为甲方提供技术服务达成一致意见,特签订本合同。
  一、合同适用说明
  1.本合同适用于首次购买XX产品及购买XX服务产品的用户。
  2.甲乙双方签订本合同,表明甲方接受乙方所提供的标准服务;否则,视为甲方主动放弃乙方所提供的服务。
  二、服务内容
  1.乙方提供的服务内容:
  1)品标准培训:乙方负责承担甲方所购买产品的标准培训;标准培训为指导建账和为期四个工作小时的业务指导。
  2)热线支持:指乙方服务人员通过电话向用户提供技术问题解答的过程。
  3)在线服务支持:指乙方通过在线支持系统接收、解答用户问题,并在网上发布相关技术解决问题的过程。
  4)现场维护:指乙方派遣技术人员到用户现场处理问题的过程。
  5)远程维护:指乙方通过《XX维护软件》解答用户问题的服务过程。
  6)用户俱乐部活动:甲方可以参加XX用户俱乐部的活动。
  7)用户刊物:甲方可以不定期的获取乙方提供的用户刊物,用户刊物包括出版的刊物和电子刊物。
  2、乙方的服务承诺:
  1)乙方接到甲方通过电话、信函传真、电子邮件、网上提交等方式提出关于XX软件的服务请求后,在两个有效工作
  日内给予响应并提供服务。
  2)乙方提供给甲方的服务,必须按照合同规定的服务内容进行。
  三、甲方责任:
  1.甲方应确保有专人对xx软件的使用和管理负责。
  2.甲方应建立相关制度,以确保xx软件运行环境(包括计算机、打印机及相关硬件设备)
  3.甲方定期做好系统数据备份,并对备份数据进行妥善保管。
  4.甲方在应用过程中发现软件出现异常,应及时与甲方取得联系,并记录当前故障现象,便于乙方作出诊断。
  5.甲方在乙方服务人员服务完成后,配合检查软件系统运行是否正常。
  四、违约处理
  1.乙方违争取处理:
  1)甲方有权对乙方不履行合同条款的行为向XX公司服务管理部门投诉;XX公司服务投诉电话:XXXXXXXX
  2)乙方违反以上服务承诺时,在接到甲方投诉后,维护部门立即采取补救措施,并给用户满意答复。
  3)乙方在确认违反了服务承诺,并给甲方造成实际损失,应该给甲方以适当的经济补偿。
  2.甲方违约处理
  1)甲方没有按照合同要求履行甲方应承担的责任,甲方应该承担由此带来的相关后果。
  2)因甲方法人员进行非法操作、感染病毒、配件出现故障导致的数据混乱、丢失等问题,甲方请求乙方提供服务的,
  
 乙方可以按照软件服务费的100%,加收服务费。
  3.乙方免责条款
  1)乙方不承担因甲方人员进行非法操作、感染病毒、硬件出现故障导致的数据混乱乱、丢失责任。
  2)乙方有权拒绝甲方提出的合同规定之外的服务请求。
  五、合同有效期和效用性
  1.本合同须双方签字并加盖公章或合同章生效;本合同一式两份,双方各执一份,具有同等法律效力
  2.本合同的有效性不因双方代表的职务变换、工作变更、工作调动等情况而受任何影响;本合同的有效性不因双方法
 人的变更而受任何影响;本合同的有效性不因双方单位名称的改变而受任何影响。
  六、收费办法和合同期限
  1.购买XX版、XX版)大写:_______________.
  2.合同有效期限为一年,自___年__月__日至___年__月__日止,合同期满自动中止。
  3.合同期满后,双方协商,乙方可以继续为甲方提供用友软件运行维护服务;但双方必须重新签署新的服务合同。
  七、争议处理
  1.甲乙双方如对协议条款规定的理解有异议,或者对与协议有关的事项发生争议,双方应本着友好合作的精神进行协商。
  2.协商不能解决的,依照《中华人民共和国合同法》,任何一方可向乙方所在地的人民法院起诉。
  八、其他
  1.本合同未尽事宜,由甲乙双方协商后产生书面文件,作为本合同的补充条款,具备与本合同同等法律效力。
  2.对本合同内容的任何修改和变更需要用书面形式,并经双方确认后生效。
  3.本合同为双方唯一的正式协议,其他任何方案、口头说明及与本项目有关的信函、传真、邮件等,均以本合同为准。
</pre>
 
 </div>
 <input style="width:20px; margin-top: 4px;" id="agree" name="agree" type="checkbox">
 <label for="agree">同意以上服务条款</label>
 <center>
 <button style="height: 40px;width: 120px;" οnclick="ckAgree()">我同意</button>
</center>
</div>
defaultpage;
$successpage=<<<successpage
  <h1>恭喜你!数据库成功添加</h1>
successpage;

?>

getthint.php

ajax文件

<?php

//从请求URL地址中获取 q 参数
$q=$_GET["q"];


//查找是否由匹配值, 如果 q>0
if (strlen($q) > 0)
{
    $hint="";
// 创建连接
$conn = new mysqli('localhost','root','root');
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$sql="SELECT * FROM information_schema.SCHEMATA where SCHEMA_NAME='{$q}';";
$result =$conn->query($sql);
$b=$result->fetch_assoc();
if($b["SCHEMA_NAME"]==$q){
$hint="数据库已经存在";
}
}
//输出返回值

echo $hint;

style.css

html{   
    width: 100%;   
    height: 100%;   
    overflow: hidden;   
    font-style: sans-serif;   
}   
body{   
    width: 100%;   
    height: 100%;   
    font-family: 'Open Sans',sans-serif;   
    margin: 0;   
    background-color: lightblue;   
}   
#login{  
margin:0 auto;  
    width: 860px;   
    height: 800px;  
margin-top:60px;
}   
#login h1{   
    color: #fff;   
    text-shadow:0 0 10px;   
    letter-spacing: 1px;   
    text-align: center;   
}     
input{   
    width: 278px;   
    height: 18px;   
    margin-bottom: 10px;   
margin-top: 10px;
    outline: none;   
    padding: 10px;   
    font-size: 13px;       
    border-top: 1px solid #312E3D;   
    border-left: 1px solid #312E3D;   
    border-right: 1px solid #312E3D;   
    border-bottom: 1px solid #56536A;   
    border-radius: 4px;   
    background-color: #f2f2f2;   

.but{   
    width: 300px;   
    min-height: 20px;   
    display: block;   
    background-color: #4a77d4;   
    border: 1px solid #3762bc;   
    color: #fff;   
    padding: 9px 14px;   
    font-size: 15px;   
    line-height: normal;   
    border-radius: 5px;   
    margin: 0;   
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liu709127859

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值