step3.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8"/>
  5. <title><?php echo $Title; ?> - <?php echo $Powered; ?></title>
  6. <link rel="stylesheet" href="./css/install.css?v=9.0"/>
  7. </head>
  8. <body>
  9. <div class="wrap">
  10. <?php require './templates/header.php'; ?>
  11. <section class="section">
  12. <div class="step">
  13. <ul>
  14. <li class="on"><em>1</em>检测环境</li>
  15. <li class="current"><em>2</em>创建数据</li>
  16. <li><em>3</em>完成安装</li>
  17. </ul>
  18. </div>
  19. <form id="J_install_form" action="index.php?step=4" method="post">
  20. <input type="hidden" name="force" value="0"/>
  21. <div class="server">
  22. <table width="100%">
  23. <tr>
  24. <td class="td1" width="100">数据库信息</td>
  25. <td class="td1" width="200">&nbsp;</td>
  26. <td class="td1">&nbsp;</td>
  27. </tr>
  28. <tr>
  29. <td class="tar">数据库服务器:</td>
  30. <td><input type="text" name="dbhost" id="dbhost" value="127.0.0.1" class="input"></td>
  31. <td>
  32. <div id="J_install_tip_dbhost"><span class="gray">数据库服务器地址,一般为127.0.0.1</span></div>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td class="tar">数据库端口:</td>
  37. <td><input type="text" name="dbport" id="dbport" value="3306" class="input"></td>
  38. <td>
  39. <div id="J_install_tip_dbport"><span class="gray">数据库服务器端口,一般为3306</span></div>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td class="tar">数据库用户名:</td>
  44. <td><input type="text" name="dbuser" id="dbuser" value="root" class="input"></td>
  45. <td>
  46. <div id="J_install_tip_dbuser"></div>
  47. </td>
  48. </tr>
  49. <tr>
  50. <td class="tar">数据库密码:</td>
  51. <td><input type="password" name="dbpw" id="dbpw" value="" class="input" autoComplete="off" onBlur="mysqlDbPwd(0)"></td>
  52. <td>
  53. <div id="J_install_tip_dbpw"></div>
  54. </td>
  55. </tr>
  56. <tr>
  57. <td class="tar">数据库名:</td>
  58. <td><input type="text" name="dbname" id="dbname" value="crmeb" class="input" onBlur="mysqlDbPwd(0)"></td>
  59. <td>
  60. <div id="J_install_tip_dbname"></div>
  61. </td>
  62. </tr>
  63. <tr>
  64. <td class="tar">数据库表前缀:</td>
  65. <td><input type="text" name="dbprefix" id="dbprefix" value="eb_" class="input"></td>
  66. <td>
  67. <div id="J_install_tip_dbprefix"><span class="gray">建议使用默认,同一数据库安装多个CRMEB时需修改</span></div>
  68. </td>
  69. </tr>
  70. <tr>
  71. <td class="tar">演示数据:</td>
  72. <td colspan="2"><input style="width:18px;height:18px;" type="checkbox" id="demo" name="demo" value="demo" checked></td>
  73. </tr>
  74. </table>
  75. <table width="100%">
  76. <tr>
  77. <td class="td1" width="100">redis数据库信息</td>
  78. <td class="td1" width="200">&nbsp;</td>
  79. <td class="td1">&nbsp;</td>
  80. </tr>
  81. <tr>
  82. <td class="tar">服务器地址:</td>
  83. <td><input type="text" name="rbhost" id="rbhost" value="127.0.0.1" class="input" onBlur="redisDbPwd(0)"></td>
  84. <td>
  85. <div id="J_install_redis_host"><span class="gray">redis服务器地址,一般为127.0.0.1</span></div>
  86. </td>
  87. </tr>
  88. <tr>
  89. <td class="tar">端口号:</td>
  90. <td><input type="text" name="rbport" id="rbport" value="6379" class="input" autoComplete="off" onBlur="redisDbPwd(0)">
  91. </td>
  92. <td>
  93. <div id="J_install_redis_port"><span class="gray">redis端口,默认为6379</span></div>
  94. </td>
  95. </tr>
  96. <tr>
  97. <td class="tar">数据库:</td>
  98. <td><input type="text" name="rbselect" id="rbselect" value="0" class="input" autoComplete="off" onBlur="redisDbPwd(0)"></td>
  99. <td>
  100. <div id="J_install_redis_select"><span class="gray">redis数据库,默认为0,一般不做更改</span></div>
  101. </td>
  102. </tr>
  103. <tr>
  104. <td class="tar">数据库密码:</td>
  105. <td><input type="text" name="rbpw" id="rbpw" value="" class="input" autoComplete="off" onBlur="redisDbPwd(0)"></td>
  106. <td>
  107. <div id="J_install_redis_dbpw"><span class="gray">redis数据库密码</span></div>
  108. </td>
  109. </tr>
  110. </table>
  111. <table width="100%">
  112. <tr>
  113. <td class="td1" width="100">管理员信息</td>
  114. <td class="td1" width="200">&nbsp;</td>
  115. <td class="td1">&nbsp;</td>
  116. </tr>
  117. <tr>
  118. <td class="tar">管理员帐号:</td>
  119. <td><input type="text" name="manager" id="manager" value="admin" class="input" onblur="checkForm()"></td>
  120. <td>
  121. <div id="J_install_tip_manager"></div>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td class="tar">管理员密码:</td>
  126. <td><input type="password" name="manager_pwd" id="manager_pwd" class="input" autoComplete="off" onblur="checkForm()">
  127. </td>
  128. <td>
  129. <div id="J_install_tip_manager_pwd"><span class="gray">请输入至少6个字符密码</span></div>
  130. </td>
  131. </tr>
  132. <tr>
  133. <td class="tar">重复密码:</td>
  134. <td><input type="password" name="manager_ckpwd" id="manager_ckpwd" class="input" autoComplete="off" onkeyup="checkForm()"></td>
  135. <td>
  136. <div id="J_install_tip_manager_ckpwd"></div>
  137. </td>
  138. </tr>
  139. </table>
  140. <div id="J_response_tips" style="display:none;"></div>
  141. </div>
  142. <div class="bottom tac"><a href="./index.php?step=2" class="btn">上一步</a>
  143. <button type="button" onClick="submitForm();" class="btn btn_submit J_install_btn">创建数据</button>
  144. </div>
  145. </form>
  146. </section>
  147. <div style="width:0;height:0;overflow:hidden;"><img src="./images/install/pop_loading.gif"></div>
  148. <script src="./js/jquery.js?v=9.0"></script>
  149. <script src="./js/validate.js?v=9.0"></script>
  150. <script src="./js/ajaxForm.js?v=9.0"></script>
  151. <script>
  152. var mysqlstatu = false;
  153. var redisstatu = false;
  154. function mysqlDbPwd(connect_db) {
  155. var data = {
  156. 'dbHost': $('#dbhost').val(),
  157. 'dbUser': $('#dbuser').val(),
  158. 'dbPwd': $('#dbpw').val(),
  159. 'dbName': $('#dbname').val(),
  160. 'dbport': $('#dbport').val(),
  161. 'demo': $('#demo').val()
  162. };
  163. var url = "<?php echo $_SERVER['PHP_SELF']; ?>?step=3&mysqldbpwd=1";
  164. $.ajax({
  165. type: "POST",
  166. url: url,
  167. data: data,
  168. dataType: 'JSON',
  169. beforeSend: function () {
  170. },
  171. success: function (msg) {
  172. if (msg == 1) {
  173. // $('#J_install_tip_dbpw').html('<span generated="true" class="tips_success" style="">密码正确</span>');
  174. $('#J_install_tip_dbpw').html('');
  175. $('#J_install_tip_dbname').html('');
  176. $('#J_install_rbhost').html('');
  177. mysqlstatu = true;
  178. } else if (msg == -1) {
  179. // $('#dbpw').val("");
  180. $('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" >数据库链接配置失败</span>');
  181. mysqlstatu = false;
  182. } else if (msg == -2) {
  183. $('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" >请在mysql配置文件修sql-mode或sql_mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION</span><a href="https://doc.crmeb.com/web/single/crmeb_v4/936" target="_blank">查看文档</a>');
  184. mysqlstatu = false;
  185. } else if (msg == -3) {
  186. $('#J_install_tip_dbpw').html('');
  187. $('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >你的不是空数据库, 请更换一个数据库名字</span>');
  188. mysqlstatu = false;
  189. }else if (msg == -4) {
  190. $('#J_install_tip_dbpw').html('');
  191. $('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >无权限创建数据,请先手动创建数据库</span>');
  192. mysqlstatu = false;
  193. } else if (msg == 2002) {
  194. $('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" >地址或端口错误</span>');
  195. mysqlstatu = false;
  196. } else if (msg == 1045) {
  197. $('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" >用户名或密码错误</span>');
  198. mysqlstatu = false;
  199. } else {
  200. $('#J_install_tip_dbpw').html('');
  201. mysqlstatu = false;
  202. }
  203. },
  204. complete: function () {
  205. },
  206. error: function () {
  207. $('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">数据库链接配置失败</span>');
  208. mysqlstatu = false;
  209. }
  210. });
  211. }
  212. function redisDbPwd(connect_db) {
  213. var data = {
  214. rbhost: $('#rbhost').val(),
  215. rbport: $("#rbport").val(),
  216. rbselect: $("#rbselect").val(),
  217. rbpw: $('#rbpw').val(),
  218. };
  219. var url = "<?php echo $_SERVER['PHP_SELF']; ?>?step=3&redisdbpwd=1";
  220. $.ajax({
  221. type: "POST",
  222. url: url,
  223. data: data,
  224. dataType: 'JSON',
  225. beforeSend: function () {
  226. },
  227. success: function (msg) {
  228. if (msg == 1) {
  229. // $('#J_install_redis_host').html('<span generated="true" class="tips_success" style="">地址配置正确</span>');
  230. // $('#J_install_redis_port').html('<span generated="true" class="tips_success" style="">端口配置正确</span>');
  231. // $('#J_install_redis_select').html('<span generated="true" class="tips_success" style="">库可用</span>');
  232. $('#J_install_redis_dbpw').html('<span generated="true" class="tips_success" style="">配置成功</span>');
  233. redisstatu = true;
  234. } else if (msg == -1) {
  235. $('#J_install_redis_host').html('<span for="dbname" generated="true" class="tips_error" style="">Redis扩展没有安装</span>');
  236. redisstatu = false;
  237. } else if (msg == -3) {
  238. $('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">Redis数据库没有启动或者配置信息错误</span>');
  239. redisstatu = false;
  240. } else {
  241. $('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">配置失败</span>');
  242. redisstatu = false;
  243. }
  244. },
  245. complete: function () {
  246. },
  247. error: function () {
  248. $('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">数据库链接配置失败</span>');
  249. $('#dbpw').val("");
  250. redisstatu = false;
  251. }
  252. });
  253. }
  254. function checkForm() {
  255. manager = $.trim($('#manager').val()); //用户名表单
  256. manager_pwd = $.trim($('#manager_pwd').val()); //密码表单
  257. manager_ckpwd = $.trim($('#manager_ckpwd').val()); //密码提示区
  258. if (manager.length == 0) {
  259. $('#J_install_tip_manager').html('<span for="dbname" generated="true" class="tips_error" style="">请输入管理账号</span>');
  260. return false;
  261. }
  262. if (!(/^[a-zA-Z]{0,}$/.test(manager))) {
  263. // alert('账号必须为英文或者数字');
  264. $('#J_install_tip_manager').html('<span generated="true" class="tips_error" style="">账号必须为英文或者数字</span>');
  265. return false;
  266. } else {
  267. $('#J_install_tip_manager').html('<span generated="true" class="tips_success" style="">用户名可用</span>');
  268. }
  269. if (manager_pwd.length < 6) {
  270. // alert('管理员密码必须6位数以上');
  271. $('#J_install_tip_manager_pwd').html('<span for="dbname" generated="true" class="tips_error" style="">管理员密码必须5位数以上</span>');
  272. return false;
  273. } else {
  274. $('#J_install_tip_manager_pwd').html('<span generated="true" class="tips_success" style="">密码可用</span>');
  275. }
  276. if (manager_ckpwd != manager_pwd) {
  277. // alert('两次密码不一致');
  278. $('#J_install_tip_manager_ckpwd').html('<span for="dbname" generated="true" class="tips_error" style="">两次密码不一致</span>');
  279. return false;
  280. } else {
  281. $('#J_install_tip_manager_ckpwd').html('<span generated="true" class="tips_success" style="">密码正确</span>');
  282. return true;
  283. }
  284. }
  285. function submitForm() {
  286. if(!mysqlstatu) {
  287. mysqlDbPwd(1);
  288. return false;
  289. }
  290. if(!redisstatu) {
  291. redisDbPwd(1);
  292. return false;
  293. }
  294. if(checkForm()) {
  295. $("#J_install_form").submit(); // ajax 验证通过后再提交表单
  296. }
  297. }
  298. </script>
  299. </div>
  300. <?php require './templates/footer.php'; ?>
  301. </body>
  302. </html>