Эта тема на forum.dklab.ru


Pavlentus: Addmuser.php
Решил переделать данный файл и приписать к добавлению базы еще и добавление таблицы, код абсолютно вроде бы эдентичный исходному, а не работает, не знаю где исправлять, хотя PHP Expert Editor показал, что не объявленны переменные....я тогда вообще потерялся.....

<?
if (@$doGo)
{
do
{
if (!@mysql_connect("localhost","root",$rootpass))
{
$eBadRootPass=mysql_error();
break;
}
SetCookie("mysqlpass",$rootpass,time()+3600*24*365*5);
if ($db==""||!preg_match('/^[a-z0-9_]+$/i',$db))
{
$eBadDb=1; break;
}

if ($login==""||!preg_match('/^[a-z0-9_]+$/i',$login))
{
$eBadLogin=1; break;
}
if ($table=="")
{
$eBadTable=1; break;
}
if ($password!=$password1)
{
$eBadPass=1; break;
}
if (!@mysql_query("crate database $db"))
{
$eDBExists=1; break;
}
if (!@mysql_query("create table $table"))
{
$eTableExists=1; break;
}
mysql_select_db("mysql");
$r=@mysql_query("select * from user where user='$login'");
if (@mysql_num_rows($r))
{
$eUserExists=1; break;
}
$DateTime=date()+time();
mysql_query("insert into user values('localhost','$db',PASSWORD('$password'),'N','N','N','N','N','N','N','N','N','Y','N','N','N','N')");
mysql_query("insert into tables_priv values('localhost','$db','$db','$table','Pavel','','Select','Select')");
mysql_query("insert into db values('localhost', '$db', '$db','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')");
mysql_query("flush privileges");
$eOK=1;
} while(0);
}
if(!isSet($rootpass)) $rootpass=@$mysqlpass;
?>
<title>New Database, Table and Mysql User</title>
<? if (@$eOK) { ?>
<h2>Database, Table and User are created</h2>
<? }?>
<form name=Form action=<?=$SCRIPT_NAME?> method=POST>
<table width=70% cellpadding=5 cellspacing=2>
<tr bgcolor=EEEEEE valign=top>
<td><nobr>Administrators password of MySQL:</td>
<td>
<input type=password size=30 name=rootpass value="<?=@HtmlSpecialChars($rootpass)?>">
<? if(@$eBadRootPass) {?>
<br><font color=red size=2>Error: <?=$eBadRootPass?>.
<? }?>
</td>
</tr>
<tr bgcolor=EEEEEE valign=top>
<td>Database Name:</td>
<td>
<input type=text size=30 name=db value="<?=@HtmlSpecialChars($db)?>">
<? if(@$eBadDb) {?>
<br><font color=red size=2>Error: Bad Database Name.</font>
<? }?>
<? if(@$eDBExists) {?>
<br><font color=red size=2>Error: Database Exists.</font>
<? }?>
</td>
</tr>
<tr bgcolor=E5E5E5 valign=top>
<td>UserName:</td>
<td>
<input type=text size=30 name=login value="<?=@HtmlSpecialChars($login)?>"onChange="chg=true;" onFocus="chg=true;" >
<? if(@$eBadUser) {?>
<br><font color=red size=2> Error: Bad username.</font>
<? }?>
<? if(@$eUserExists) {?>
<br><font color=red size=2> Error: Such user exists.</font>
<? }?>
</td>
</tr>
<tr bgcolor=EEEEEE valign=top>
<td><nobr>Table Name:</td>
<td>
<input type=text size=30 name=table value="<?=@HtmlSpecialChars($table)?>">
<? if(@$eTableExists) {?>
<br><font color=red size=2> Error: Such table exists.</font>
<? }?>
<? if(@$eBadTable) {?>
<br><font color=red size=2> Error: Bat tablename.</font>
<? }?>
</td>
</tr>
<tr bgcolor=EEEEEE valign=top>
<td>Password:</td>
<td><input type=password size=30 name=password value="<?=@HtmlSpecialChars($password)?>"></td>
</tr>
<tr bgcolor=E5E5E5 valign=top>
<td>...retype password:</td>
<td>
<input type=password size=30 name=password1 value="<?=@HtmlSpecialChars($password1)?>">
<? if(@$eBadPass) {?>
<br><font color=red size=2>Error: Passwords unlike.</font>
<? }?>
</td>
</tr>
<tr bgcolor=FFFFFF valign=top>
<td>&nbsp;</td>
<td><input type=submit name=doGo value="Create DB, Table And User"></td>
</tr>
<tr valign=top>
<td colspan=2>
<font size=-1>
<p><b>Note</b>: Admin's MySQL password at preterition is empty.
</p>
</td>
</tr>
</table>
</form>
<script language=JavaScript>
<!--
var chg=document.Form.login.value!=document.Form.db.value;
function Sync() {
var form=document.Form;
if(!chg) {
form.login.value=form.db.value;
setTimeout("Sync()",100);
}
}
Sync();
//-->
</script>


7.3.:
Pavlentus:
Может register_globals отключен?
Pavlentus:
7.3.:
А почему при том же раскладе в денвере оно добавляет?
7.3.:
Хз... а зачем вообще Вам понадобилось добавлять какую-то «таблицу»?
Pavlentus:
7.3.:
1. Проверить функциональность самой MySQL
2. Для себя, чтобы убедиться, что работает.
bæv:
if (!@mysql_query("create table $table"))
А что-нибудь типа mysql_connect.....
mysql_select_db......
у Вас в коде есть?
Pavlentus:
baev:
А вы внимательнее посмотрите и запустите программу, сами и посмотрите как работает.........
bæv:
baev:
А вы внимательнее посмотрите

crate database $db

И в какой базе Вы пытаетесь таблицу создать?
if (!@mysql_query("create table $table"))
Pavlentus:
baev:
В той базе, в которую создам
bæv:
которую создам
Какой командой?
Pavlentus:
baev:
mysql_query("insert into db values('localhost', '$db', '$db','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')");
как альтернатива CREATE DATABASE
bæv:
В той базе, в которую создам
альтернатива CREATE DATABASE

А альтернатива "mysql_select_db("mysql");" где?
Pavlentus:
Вопрос решен, тему можно закрыть.
Дмитрий Котеров:
Тема закрыта.

Эта тема на forum.dklab.ru