Üyelik Tarihi: 07.10.2002
Yer: İstanbul
Yaş: 26
Mesaj: 986
|
1) ne olduğunu tam olarak anlamadım zira ISSde kullanmadım..
2) birincisi: database yaratmaya çalışma. eğer root kullanıcısı ile veritabanına bağlanmıyorsan (veya database yaratma hakkın yoksa dyelim), database yaratamazsın. scriptleri daha önceden yartılmış database üzerinde işlem yapacak şekilde yaz.. mesela tabloları yaratmak ve ilk değerleri vermek gibi..
bunun için yapacağın şey şu olcak.
- öncelikle tablonu yaratacak sorgunu belirle (CREATE TABLE tablo ....vs.. bunlara çok hakim değilsen, phpMyAdmin yardımıyla herhangi bir tablonun "dump" verilerine bak. yardımcı olacaktır)
- belirlerdikten sonra mysql_query() ile gönder..
ör:
$ SQL = "CREATE ....";
$query = mysql_query($ SQL);
bu kadar...
ilk değerler için ise, her bir "INSERT" için ayrı ayrı sorgular göndermelisin. bildiğim (ve denediğim) kadarıyla birkaç tane insert komutunu birden yollamayı kabul etmiyor..
$ SQL = "INSERT INTO ...";
$query = mysql_query($ SQL);
ufak bir yardımcı kod. zamanında yazdığım bir ziyaretçi defterinin install dosyası.
_config. PHP içinde bir sürü konfigürasyon verisi var. ayrıca veritabanına bağlantı için kullandığım bir sınıf dosyasının nesnesi yaratılıyor($db). yani anlayacağın $db ile ilgili herşey _config. PHP de kaldı. onları kafana takma, bir yerlerde değerleri atanmış değişkenlergibi düşün..
aynı olay $table içinde geçerli. kullanıcı yaratılacak tabloların adlarını değiştirebiliyordu. bu değişkende _config. PHP içinde yaratılıyordu.
<?PHP
$installation = TRUE;
include 'include/_config.PHP';
if(!isset($_GET['step']) || $_GET['step']<1)
$step = 1;
else
$step = $_GET['step'];
?>
<HTML>
<head>
<title>Installing...</title>
<meta http-equiv=content-type content="iso-8859-9">
<style type=text/CSS>
BODY{
font-family: verdana;
font-size: 10px;
color: #000000;
}
A{
text-decoration: none;
font-weight: bold;
color: #000000;
}
A:hover{
color: #FF0000;
}
LI{
color: #AD4353;
}
.onemli{
color: #FF0000;
}
.ok{
color: #00AA00;
}
</style>
</head>
<body bgcolor=#FFFFFF>
<?PHP
if($step == 1){
?>
<p>This file will install "Guestbook" and setup database tables..
<p>Your connection will be done using these variables:
<ul>
<li>Host: <span class=onemli><?PHP echo $db->host; ?></span>
<li>Username: <span class=onemli><?PHP echo $db->user; ?></span>
<li>Password: <span class=onemli><?PHP echo $db->pass; ?></span>
<li>Database: <span class=onemli><?PHP echo $db->database; ?></span>
</ul>
<p>If these variables are not OK for your system, initialize again by
changing the corresponding lines in the file <b>_config.PHP</b> which you can find in
<b>include</b> directory.
<p><a href="<?PHP echo $PHP_SELF; ?>?step=2">Click here</a> to go on.. <a href="<?PHP echo $PHP_SELF; ?>?step=2">»</a>
<?PHP
}
else if($step == 2){
?>
<p>Tables will be created in database named <b><?PHP echo $db->database; ?></b>
<p>Tables will be created with these names:
<ul>
<li>Configuration: <span class=onemli><?PHP echo $table['config']; ?></span>
<li>Guestbook Data: <span class=onemli><?PHP echo $table['data']; ?></span>
<li>Smilies: <span class=onemli><?PHP echo $table['smilies']; ?></span>
<li>Banned Users: <span class=onemli><?PHP echo $table['banned']; ?></span>
</ul>
<p>If a table already exists with the same name, the table will be dropped to
create new ones..
<p>If these variables are not OK for your system, initialize again by
changing the corresponding lines in the file <b>_config.PHP</b> which you can find in
<b>include</b> directory.
<p><a href="<?PHP echo $PHP_SELF; ?>?step=3">Click here</a> to go on.. <a href="<?PHP echo $PHP_SELF; ?>?step=3">»</a>
<?PHP
}
else if($step == 3){
?>
<p>Tables are creating..
<p>Creating <b>Configuration</b> table .....
<?PHP
flush();
$SQL = "DROP TABLE IF EXISTS {$table['config']};";
$db->query($SQL);
$SQL = "CREATE TABLE {$table['config']} (
admin varchar(250) NOT NULL default '',
pass varchar(32) NOT NULL default '',
HTML enum('0','1') NOT NULL default '0',
code enum('0','1') NOT NULL default '0',
smilie enum('0','1') NOT NULL default '0',
flood int(4) NOT NULL default '0',
okay enum('0','1') NOT NULL default '0',
perPage tinyint(2) NOT NULL default '0',
email enum('0','1') NOT NULL default '0',
processtime enum('0','1') NOT NULL default '0',
language varchar(100) NOT NULL default ''
) TYPE=MyISAM;";
$db->query($SQL);
echo '<span class=ok>OK</span>';
?>
<p>Creating <b>Data</b> table .....
<?PHP
flush();
$SQL = "DROP TABLE IF EXISTS {$table['data']};";
$db->query($SQL);
$SQL = "CREATE TABLE {$table['data']} (
id int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL default '',
email varchar(255) NOT NULL default '',
web varchar(255) NOT NULL default '',
location varchar(255) NOT NULL default '',
message text NOT NULL,
comment text NOT NULL,
ip varchar(15) NOT NULL default '',
browser varchar(100) NOT NULL default '',
time int(30) NOT NULL default '0',
okay enum('0','1') NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM;";
$db->query($SQL);
echo '<span class=ok>OK</span>';
?>
<p>Creating <b>Smilies</b> table .....
<?PHP
flush();
$SQL = "DROP TABLE IF EXISTS {$table['smilies']};";
$db->query($SQL);
$SQL = "CREATE TABLE {$table['smilies']} (
old varchar(50) NOT NULL default '',
new varchar(150) NOT NULL default '',
exp varchar(255) NOT NULL default ''
) TYPE=MyISAM;";
$db->query($SQL);
echo '<span class=ok>OK</span>';
?>
<p>Creating <b>Banned</b> table .....
<?PHP
flush();
$SQL = "DROP TABLE IF EXISTS {$table['banned']};";
$db->query($SQL);
$SQL = "CREATE TABLE {$table['banned']} (
banned varchar(15) NOT NULL default ''
) TYPE=MyISAM;";
$db->query($SQL);
echo '<span class=ok>OK</span>';
?>
<p>Tables are created succesfully..
<p>Storing default values .....
<?PHP
flush();
$SQL = "INSERT INTO {$table['config']} VALUES ('admin', 'c4ca4238a0b923820dcc509a6f75849b', '0', '1', '1', '1', '1', 5, '1', '1', 'english.PHP');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['data']} VALUES ('1', 'Yusuf Soysal - hayalet', 'soysalyu@yahoo.com', 'http://dolu.saneg.itu.edu.tr/shadow/', 'İstanbul - Maltepe', 'This book is great <img src=images/smilies/wink.gif border=0>', '', '127.0.0.1', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)', 1049039002, '1');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':)', 'smile.gif', 'Smile');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':-)', 'smile.gif', 'Smile');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':))', 'lol.gif', 'LOL');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (';)', 'wink.gif', 'Wink');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (';-)', 'wink.gif', 'Wink');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':(', 'sad.gif', 'Sad');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':-(', 'sad.gif', 'Sad');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':[', 'mad.gif', 'Mad');";
$db->query($SQL);
$SQL = "INSERT INTO {$table['smilies']} VALUES (':o)', 'sleepy.gif', 'Sleepy');";
$db->query($SQL);
echo '<span class=ok>OK</span>';
?>
<p>Installation complete. You should now <b class=onemli>delete</b> the file <b>install.PHP</b>
<p><a href="index.PHP">Click here</a> to go on.. <a href="index.PHP">»</a>
<p><a href="admin/">Click here</a> to go to administration panel.. <a href="admin/">»</a> (Use username:admin, password:1)
<?PHP
}
?>
</body>
</HTML>
|