已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: 小叶留言本1.0开发,求助

作者: @Ta

时间: 2013-09-17

点击: 2784

想学习install.php一键安装程序数据库,sql表导入,数据库链接一键完成,就像风云酷小子,色虎风云的一键安装install.php。于是写了data/config.php和install.php文件还有一个conn.php数据库配置文件,我的疑问是通过访问install.php成功导入了数据库表,和导入了数据库配置信息到data/config.php。为什么我发布程序到网上别人表能导入成功,数据库提交config.php,在开发程序时其他php文件上面我都是通过链接 include"conn.php"

所以别人要安装install.php1次配置数据库链接conn.php一次,所以说主机地址,数据库名,数据库密码,用户名要配置2次,相当于install.php只导入了表。


 include("data/config")不等于 include("conn.php")我的想法是conn.php不再配置,直接在install写入的data/config.php数据库链接
信息替代conn.php

怎么把install中的数据库信息提交到config并直接使用config替代conn


我是新手,我无知,但我会努力,希望大神们帮助下,感激不尽

一会上程序文件,大家觉得我的思路可行不

conn.php代码如下:


 <?php

$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
//("localhost主机地址", "root用户名", "密码");
mysql_select_db("bbs", $conn);//("bbs数据库名", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;

function htmtocode($content) {
$content = str_replace("\n", "<br>", str_replace(" ", "&nbsp;", $content));
return $content;
}

//$content=str_replace("'","‘",$content);
 //htmlspecialchars();
?>


config.php代码如下:
 <?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "";
$mysql_dbname = "bbs";
$mysql_tag = "";
?>

install.php代码:


 <?php
include("conn.php"); 
include("data/config.php");
$files="data/config.php"; 
if(!is_writable($files)){ 
echo "<font color=red>不可写!!!</font>"; 
}else{ 
echo "<font color=green>可写</font>"; 

if(isset($_POST[install])){ 
$config_str = "<?php"; 
$config_str .= "\n"; 
$config_str .= '$mysql_host = "' . $_POST[db_host] . '";'; 
$config_str .= "\n"; 
$config_str .= '$mysql_user = "' . $_POST[db_user] . '";'; 
$config_str .= "\n"; 
$config_str .= '$mysql_pass = "' . $_POST[db_pass] . '";'; 
$config_str .= "\n"; 
$config_str .= '$mysql_dbname = "' . $_POST[db_dbname] . '";'; 
$config_str .= "\n"; 
$config_str .= '$mysql_tag = "' . $_POST[db_tag] . '";'; 
$config_str .= "\n"; 
$config_str .= '?>'; 
$ff = fopen($files, "w+"); 
fwrite($ff, $config_str); 
//===================== 
include_once ("data/config.php"); //嵌入配置文件 
if (!@$link = mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { //检查数据库连接情况 
echo "数据库连接失败! 请返回上一页检查连接参数 <a href=install.php>返回修改</a>"; 
} else { 
mysql_query("CREATE DATABASE `$mysql_dbname`"); 
mysql_select_db($mysql_dbname); 

if(mysql_query("CREATE TABLE `message` (
  `id` tinyint(1) NOT NULL auto_increment,
  `user` varchar(25) NOT NULL,
  `title` varchar(50) NOT NULL,
  `content` tinytext NOT NULL,
  `lastdate` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
")){
echo "htmls 建表成功!
";}else{echo "htmls 建表失败!<hr/>";}

foreach($sql_query as $val){ 
mysql_query($val); 

echo "<script>alert('安装成功!');location.href='index.php'</script>"; 
rename("install.php","install.lock"); 


?> 
<hr size=1> 
<form action="" method="POST"> 
填写主机:<input type="text" name="db_host" value=""/><br> 
用 户 名:<input type="text" name="db_user" value=""/><br> 
密  码:<input type="text" name="db_pass" value=""/><br> 
数据库名:<input type="text" name="db_dbname" value=""/><br> 
数据前缀:<input type="text" name="db_tag" value=""/><br> 
<button type=submit name=install>下一步</button> 
</form>

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1. 什么程序?
(/@Ta/2013-09-17 11:39//)

2. php+mysql留言板
(/@Ta/2013-09-17 11:51//)

3. 你厉害,我菜鸟路过
(/@Ta/2013-09-17 13:12//)

4. @15177658730,我也是菜鸟
(/@Ta/2013-09-17 14:35//)

5. @15177658730,也是才开始起步
(/@Ta/2013-09-17 14:36//)

6. @顾念文笔,我更菜,看了qx.yz02.tk/ly/这个你就知道
(/@Ta/2013-09-17 19:30//)

回复需要登录

8月18日 06:34 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1