سلام بچه ها من این کدو برای ساخت دیتا بیس که هر کاربری که لاگین میکنه واسش یک دیتا بیس (فایل config) ساخته شه نوشتم ولی مشکل داره. میشه بگید مشکلش چیه یا یک کد ساده تر یگبد
<?php
$completed = false;
$error_mg = array();
if($_POST['submit1'])
{
$database_host = isset($_POST['database_host'])?$_POST['database_host']:"";
$database_name = isset($_POST['database_name'])?$_POST['database_name']:"";
$database_username = isset($_POST['database_username'])?$_POST['database_username']:"";
$database_password = isset($_POST['database_password'])?$_POST['database_password']:"";
$pe = mysql_connect ($database_host, $database_username, $database_password);
mysql_select_db ($database_name, $pe);
if (empty($database_host)){
$error_mg[] = "Database host can not be empty! Please re-enter.";
}
if (empty($database_name)){
$error_mg[] = "Database name can not be empty! Please re-enter.";
}
if (empty($database_username)){
$error_mg[] = "Database username can not be empty! Please re-enter.";
}
if (empty($database_password)){
$error_mg[] = "Database password can not be empty! Please re-enter.";
}
if(empty($error_mg)){
$config_file = file_get_contents("config.default");
$config_file = str_replace("_DB_HOST_", $database_host, $config_file);
$config_file = str_replace("_DB_NAME_", $database_name, $config_file);
$config_file = str_replace("_DB_USER_", $database_username, $config_file);
$config_file = str_replace("_DB_PASSWORD_", $database_password, $config_file);
$f = @fopen("config.inc.php", "w+");
if (@fwrite($f, $config_file) > 0){
$link = @mysql_connect($database_host, $database_username, $database_password);
if($link){
if (@mysql_select_db($database_name)) {
if(false == ($db_error = apphp_db_install($database_name, $sql_file))){
@unlink("config.inc.php");
}else{
// additional operations, like setting up admin passwords etc.
// ...
$completed = true;
}
} else {
$error_mg[] = "Database connecting error! Check your database exists.</span><br/>";
@unlink("config.inc.php");
}
} else {
$error_mg[] = "Database connecting error! Check your connection parameters.</span><br/>";
@unlink("config.inc.php");
}
} else {
$error_mg[] = "Can not open configuration file "."config.inc.php";
}
@fclose($f);
}
}
?>
<?php
function apphp_db_install($database_name, $sql_file) {
$db_error = false;
if (!@apphp_db_select_db($database_name)) {
if (@apphp_db_query('create database ' . $database_name)) {
apphp_db_select_db($database_name);
} else {
$db_error = mysql_error();
return false;
}
}
if (!$db_error) {
if (file_exists($sql_file)) {
$fd = fopen($sql_file, 'rb');
$restore_query = fread($fd, filesize($sql_file));
fclose($fd);
} else {
$db_error = 'SQL file does not exist: ' . $sql_file;
return false;
}
$sql_array = array();
$sql_length = strlen($restore_query);
$pos = strpos($restore_query, ';');
for ($i=$pos; $i<$sql_length; $i++) {
if ($restore_query[0] == '#') {
$restore_query = ltrim(substr($restore_query, strpos($restore_query, "\n")));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue;
}
if ($restore_query[($i+1)] == "\n") {
for ($j=($i+2); $j<$sql_length; $j++) {
if (trim($restore_query[$j]) != '') {
$next = substr($restore_query, $j, 6);
if ($next[0] == '#') {
// find out where the break position is so we can remove this line (#comment line)
for ($k=$j; $k<$sql_length; $k++) {
if ($restore_query[$k] == "\n") break;
}
$query = substr($restore_query, 0, $i+1);
$restore_query = substr($restore_query, $k);
// join the query before the comment appeared, with the rest of the dump
$restore_query = $query . $restore_query;
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue 2;
}
break;
}
}
if ($next == '') { // get the last insert query
$next = 'insert';
}
if ( (eregi('create', $next)) || (eregi('insert', $next)) || (eregi('drop t', $next)) ) {
$next = '';
$sql_array[] = substr($restore_query, 0, $i);
$restore_query = ltrim(substr($restore_query, $i+1));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
}
}
}
for ($i=0; $i<sizeof($sql_array); $i++) {
apphp_db_query($sql_array[$i]);
}
return true;
} else {
return false;
}
}
function apphp_db_select_db($database_name) {
return mysql_select_db($database_name);
}
function apphp_db_query($query) {
global $link;
$res=mysql_query($query, $link);
return $res;
}
?>
<?php
$completed = false;
$error_mg = array();
if($_POST['submit1'])
{
$database_host = isset($_POST['database_host'])?$_POST['database_host']:"";
$database_name = isset($_POST['database_name'])?$_POST['database_name']:"";
$database_username = isset($_POST['database_username'])?$_POST['database_username']:"";
$database_password = isset($_POST['database_password'])?$_POST['database_password']:"";
$pe = mysql_connect ($database_host, $database_username, $database_password);
mysql_select_db ($database_name, $pe);
if (empty($database_host)){
$error_mg[] = "Database host can not be empty! Please re-enter.";
}
if (empty($database_name)){
$error_mg[] = "Database name can not be empty! Please re-enter.";
}
if (empty($database_username)){
$error_mg[] = "Database username can not be empty! Please re-enter.";
}
if (empty($database_password)){
$error_mg[] = "Database password can not be empty! Please re-enter.";
}
if(empty($error_mg)){
$config_file = file_get_contents("config.default");
$config_file = str_replace("_DB_HOST_", $database_host, $config_file);
$config_file = str_replace("_DB_NAME_", $database_name, $config_file);
$config_file = str_replace("_DB_USER_", $database_username, $config_file);
$config_file = str_replace("_DB_PASSWORD_", $database_password, $config_file);
$f = @fopen("config.inc.php", "w+");
if (@fwrite($f, $config_file) > 0){
$link = @mysql_connect($database_host, $database_username, $database_password);
if($link){
if (@mysql_select_db($database_name)) {
if(false == ($db_error = apphp_db_install($database_name, $sql_file))){
@unlink("config.inc.php");
}else{
// additional operations, like setting up admin passwords etc.
// ...
$completed = true;
}
} else {
$error_mg[] = "Database connecting error! Check your database exists.</span><br/>";
@unlink("config.inc.php");
}
} else {
$error_mg[] = "Database connecting error! Check your connection parameters.</span><br/>";
@unlink("config.inc.php");
}
} else {
$error_mg[] = "Can not open configuration file "."config.inc.php";
}
@fclose($f);
}
}
?>
<?php
function apphp_db_install($database_name, $sql_file) {
$db_error = false;
if (!@apphp_db_select_db($database_name)) {
if (@apphp_db_query('create database ' . $database_name)) {
apphp_db_select_db($database_name);
} else {
$db_error = mysql_error();
return false;
}
}
if (!$db_error) {
if (file_exists($sql_file)) {
$fd = fopen($sql_file, 'rb');
$restore_query = fread($fd, filesize($sql_file));
fclose($fd);
} else {
$db_error = 'SQL file does not exist: ' . $sql_file;
return false;
}
$sql_array = array();
$sql_length = strlen($restore_query);
$pos = strpos($restore_query, ';');
for ($i=$pos; $i<$sql_length; $i++) {
if ($restore_query[0] == '#') {
$restore_query = ltrim(substr($restore_query, strpos($restore_query, "\n")));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue;
}
if ($restore_query[($i+1)] == "\n") {
for ($j=($i+2); $j<$sql_length; $j++) {
if (trim($restore_query[$j]) != '') {
$next = substr($restore_query, $j, 6);
if ($next[0] == '#') {
// find out where the break position is so we can remove this line (#comment line)
for ($k=$j; $k<$sql_length; $k++) {
if ($restore_query[$k] == "\n") break;
}
$query = substr($restore_query, 0, $i+1);
$restore_query = substr($restore_query, $k);
// join the query before the comment appeared, with the rest of the dump
$restore_query = $query . $restore_query;
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
continue 2;
}
break;
}
}
if ($next == '') { // get the last insert query
$next = 'insert';
}
if ( (eregi('create', $next)) || (eregi('insert', $next)) || (eregi('drop t', $next)) ) {
$next = '';
$sql_array[] = substr($restore_query, 0, $i);
$restore_query = ltrim(substr($restore_query, $i+1));
$sql_length = strlen($restore_query);
$i = strpos($restore_query, ';')-1;
}
}
}
for ($i=0; $i<sizeof($sql_array); $i++) {
apphp_db_query($sql_array[$i]);
}
return true;
} else {
return false;
}
}
function apphp_db_select_db($database_name) {
return mysql_select_db($database_name);
}
function apphp_db_query($query) {
global $link;
$res=mysql_query($query, $link);
return $res;
}
?>