В чём причина не могу понять

  • Автор темы amsokol
  • Дата начала
A

amsokol

Увожаемые Гуру PHP, подскажите пожалуйста вчём дело скрипт инстоляции не в какую не хочет заполнять базу данных, хотя и базу создал и пользователя со всеми привелегиями и поролем одарил, а такое ощущение что не видет базу и всё, Может скрипт Вообще не рабочий.

Вот сам скрипт, подскажите начинающему!!!

<?
error_reporting(0);
if ($state == "") {
echo "<center><b>Установка и настройка скриптов , ШАГ 1.</b><br><br>";
echo "Перед началом установки, создайте на своем сервере пустую базу данных MSQL,<br> и впишите параметры для подключенния ниже</center>
<table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"10\">
<FORM action=install.php method=post>
<TR><td>DB host</td><TD><INPUT size=20 name=host value=localhost></TD></TR>
<TR><td>DB username</td><TD><INPUT size=20 name=user></TD></TR>
<TR><td>DB password</td><TD><INPUT size=20 name=pass></TD></TR>
<TR><td>DB name</td><TD><INPUT size=20 name=name></TD></TR>
<TR><TD><INPUT type=hidden value=1 name=state> <INPUT type=submit value=\"Далее...\"></TD></TR>
</FORM>
</table>
<h2>ВНИМАНИЕ!!!</h2>
<b>Перед установкой, найдите файл setup.php и дайте ему права на запись (777)</b>
";
exit;
}


if ($state == "1") {

$fr=fopen("setup.php","w+");
fwrite($fr, '<'."?\n");
fwrite($fr, 'error_reporting(0);'."\n");
fwrite($fr, '$dbhost="'.$host.'";'."\n");
fwrite($fr, '$dbuname="'.$user.'";'."\n");
fwrite($fr, '$dbpass="'.$pass.'";'."\n");
fwrite($fr, '$dbname="'.$name.'";'."\n");
fwrite($fr, 'mysql_connect($dbhost, $dbuname, $dbpass) or die("<br><br><center><br><br><b>Извините, но в данный момент существует проблема с подключением к MySQL серверу.<br><br>Приносим свои извинения, просим Вас зайти немного позже.</center></b>");'."\n");
fwrite($fr, 'mysql_select_db($dbname);'."\n");
fwrite($fr, '?'.'>');
fclose($fr);
echo"Создание файла настроек.....ОК <br>";


$table1 = "CREATE TABLE `game_bank` (
`name` varchar(10) NOT NULL default 'ttuz',
`bank` decimal(12,2) NOT NULL default '0.00',
`proc` decimal(3,0) NOT NULL default '0'
) TYPE=MyISAM;";

$table2 = "CREATE TABLE `news` (
`id` int(11) NOT NULL auto_increment,
`data` varchar(8) NOT NULL default '',
`news` tinytext NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$table3 = "CREATE TABLE `partner` (
`pus` varchar(50) default NULL,
`user` varchar(50) default NULL,
`data` varchar(8) default NULL,
`cash` varchar(10) default NULL
) TYPE=MyISAM;";

$table4 = "CREATE TABLE `seting` (
`alog` varchar(10) NOT NULL default 'admin',
`apas` varchar(10) NOT NULL default 'admin',
`adm_email` varchar(200) NOT NULL default '',
`cas_url` varchar(200) NOT NULL default 'http://',
`cas_name` varchar(40) NOT NULL default '',
`mrh_login` varchar(200) NOT NULL default '',
`mrh_pass1` varchar(200) NOT NULL default '',
`mrh_pass2` varchar(200) NOT NULL default '',
`pcash` char(3) NOT NULL default '20',
`paymail` char(3) NOT NULL default 'yes',
`regmail` char(3) NOT NULL default 'yes',
`zakmail` char(3) NOT NULL default 'yes',
`icq` varchar(10) NOT NULL default '',
`cas_bon` char(1) NOT NULL default '0'
) TYPE=MyISAM;";

$table5 = "CREATE TABLE `stat_game` (
`id` int(11) NOT NULL auto_increment,
`data` varchar(8) NOT NULL default '',
`vrem` time NOT NULL default '00:00:00',
`login` varchar(20) NOT NULL default '',
`balans` varchar(10) NOT NULL default '',
`stav` char(3) NOT NULL default '',
`win` varchar(6) NOT NULL default '',
`game` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$table6 = "CREATE TABLE `stat_pay` (
`user` varchar(20) NOT NULL default '',
`data` varchar(8) NOT NULL default '',
`vremya` time NOT NULL default '00:00:00',
`inm` varchar(12) NOT NULL default '',
`outm` varchar(12) NOT NULL default '',
KEY `data` (`data`)
) TYPE=MyISAM;";

$table7 = "CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(12) default NULL,
`pass` varchar(12) default NULL,
`cash` decimal(12,2) default '0.00',
`cashin` decimal(12,2) default '0.00',
`cashout` decimal(12,2) default '0.00',
`email` varchar(50) default NULL,
`name` varchar(50) default NULL,
`fam` varchar(50) default NULL,
`date` varchar(12) default NULL,
`pcash` varchar(6) default '0.00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";

$table8 = "CREATE TABLE `zakaz` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(12) default NULL,
`cash` varchar(30) default NULL,
`rekvizit` varchar(20) default NULL,
`sumout` varchar(10) default NULL,
`flag` char(1) default '1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;";



include ("setup.php");
mysql_connect($dbhost, $dbuname, $dbpass);
mysql_db_query($dbname, $table1);
echo"Создание Таблицы 1.....ОК <br>";
mysql_db_query($dbname, $table2);
echo"Создание Таблицы 2.....ОК <br>";
mysql_db_query($dbname, $table3);
echo"Создание Таблицы 3.....ОК <br>";
mysql_db_query($dbname, $table4);
echo"Создание Таблицы 4.....ОК <br>";
mysql_db_query($dbname, $table5);
echo"Создание Таблицы 5.....ОК <br>";
mysql_db_query($dbname, $table6);
echo"Создание Таблицы 6.....ОК <br>";
mysql_db_query($dbname, $table7);
echo"Создание Таблицы 7.....ОК <br>";
mysql_db_query($dbname, $table8);
echo"Создание Таблицы 8.....ОК <br>";

$sql1 = "INSERT INTO `seting` VALUES ('admin', 'admin', '', 'http://', '', '', '', '', '20', 'yes', 'yes', 'yes', '', '0');";
mysql_query($sql1);
$sql2 = "INSERT INTO `game_bank` VALUES ('ttuz', '0', '90');";
mysql_query($sql2);
echo"Заполнение Таблиц.....ОК <br><br><br>";

echo "<b>ПОЗДРАВЛЯЕМ! УСТАНОВКА УСПЕШНО ЗАВЕРШЕНА!<br><br>ВНИМАНИЕ: ТЕПЕРЬ КОГДА УСТАНОВКА УСПЕШНО ЗАВЕРШЕНА, ОБЯЗАТЕЛЬНО УДАЛИТЕ ФАЙЛ INSTALL.PHP <br>ИЗ КОРНЕВОГО КАТАЛОГА САЙТА (ЭТО ЗАЩИТИТ ВАС ОТ ВЗЛОМА)!!!<br><br><br>Войдите в панель администратора и смените логин и пароль администратора!<br>

</b>";
}

?>
 
N

nws

чтобы понять почему не работает скрипт надо просмотреть ошибки, а у тебя они отключены:

error_reporting(0); -> error_reporting(10);

после каждого query -> mysql_query($sql1) or die('gliu4it 1-ii: '.mysql_error());

едем дальше...

mysql_db_query($dbname, $table1);
echo"Создание Таблицы 1.....ОК <br>";

в даннном случае echo отработает по-любому даже если таблица не была создана, правильно будет:

if (mysql_db_query($dbname, $table1))
{
echo"Создание Таблицы 1.....ОК <br>";
}else{
die('Create first table failed! '.mysql_error())
}


>>include ("setup.php");
Зачем если это просто текстовый файл ? легче создать, например, - config.php и в нем руками вбивать настройки
и в данном случае надо использовать require_once, разница в том что если файла не будет, выполнения скрипта прекратится, в твоем случае без этого файла не имеет смысла продолжать выполнения сценария


>>ВНИМАНИЕ: ТЕПЕРЬ КОГДА УСТАНОВКА УСПЕШНО ЗАВЕРШЕНА, ОБЯЗАТЕЛЬНО УДАЛИТЕ ФАЙЛ INSTALL.PHP
не выводи этот message в конце сам удаляй его + мессагу файл должен иметь права RWX
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!