-
Üyelik
07.03.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
Mesleğim yok
-
Konum
Sakarya
-
Ad Soyad
H** K**
-
Mesajlar
250
-
Beğeniler
54 / 66
-
Ticaret
2, (%100)
Arkadaşlar Başlıkta da yazdığım gibi kurulum sayfası oluşturmaya çalışıyorum baglan.php yada canfig.php gibi sayfaları notpad açıp düzenlemek yerine sunucumuza sql dosyamızı atıktan sonra web sitemize gelecek otomatik yönlendirme yapacak zaten kurulum.php den mysql blgilerini girecek bir yere kadar haletim zaten
ama hata aldım resimlere ve kodlara bakarsanız zaten ne anlatığım net anlaşılacaktır şimdiden teşekkür ederim herkese yardımları için..
index.php
kurulum.php
Veritabanım
Dizin Konumu
Kodlar
try {
if (isset($_POST['kur'])) {
$Host=$_POST['host'];
$dbname=$_POST['dbname'];
$dbadd=$_POST['root'];
$pass=$_POST['pass'];
}
// Mysql Text belgesi oluşturdum burada
$Mysql=touch("MYSQL.txt");
$Mysql=fopen('MYSQL.txt', 'w');
// Bittişi
// Mysql Text belgemin için mysql bilgilerim ile doldurdum içeriği okuma işlemi yaptım
$Yaz=fwrite($Mysql, $Host." ".$dbname." ".$dbadd." ".$pass);
$Mysql=fopen('MYSQL.txt', 'r');
$İcerik=fread($Mysql, filesize('MYSQL.txt'));
// Bittiş
// Parçala değişkenin de içerik içindeki bilgileri diziye çevirdim
$Parca=explode(" ", $İcerik);
$Parca[0];
$Parca[1];
$Parca[2];
$Parca[3];
$Host=$Parca[0];
$dbname=$Parca[1];
$dbadd=$Parca[2];
$pass=$Parca[3];
// fclose($Mysql);
// Bittiş
$db=new PDO ("mysql:host=$Host;dbname=$dbname;charset=utf8",$dbadd, $pass);
// echo "Test Başarılı";
} catch (PDOException $e) {
echo $e->getMessage();
}
if (isset($_POST['kur'])) {
$kurulum=1;
$İD=0;
$Host=$_POST['host'];
$dbname=$_POST['dbname'];
$dbadd=$_POST['root'];
$pass=$_POST['pass'];
$AyarGuncelle=$db->prepare("UPDATE ayarlar set Kurulum=:Kur, host=:Host, dbname=:DB, root=:Root, pass=:Pass where İD=$İD");
$update=$AyarGuncelle->execute(array(
'Kur' => $kurulum,
'Host' => $Host,
'DB' => $dbname,
'Root' => $dbadd,
'Pass' => $pass,
));
if ($update) {
header("Location:../../index.php");
}
}
// İşlemin durumu nötr
?>
Böyle bir yapı düşündüm veritabanı güncelliyor defalarca test ettim ama index de o hatayı veriyor acaba yöntemimi hep yanlış saygılarımla..
https://hakankorkmaz.site
-
Üyelik
07.03.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
Mesleğim yok
-
Konum
Sakarya
-
Ad Soyad
H** K**
-
Mesajlar
250
-
Beğeniler
54 / 66
-
Ticaret
2, (%100)
Dediğiniz gibi kayıt etim veritabanına da ama fark etiyseniz MYSQL.txt kayıt yaptım
https://hakankorkmaz.site
-
Üyelik
07.03.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
Mesleğim yok
-
Konum
Sakarya
-
Ad Soyad
H** K**
-
Mesajlar
250
-
Beğeniler
54 / 66
-
Ticaret
2, (%100)
Bunu deneyeceğim teşekkür ederim
https://hakankorkmaz.site
-
Üyelik
07.03.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
Mesleğim yok
-
Konum
Sakarya
-
Ad Soyad
H** K**
-
Mesajlar
250
-
Beğeniler
54 / 66
-
Ticaret
2, (%100)
stk27 adlı üyeden alıntı
HakanKorkz
demek istediğim hani scripler için ayar php dusyası oluşturulurya sonra bağlantı için o ayar dosyası include edilir
işte formdan veri gönderdiğinizde o ayar dosyasını güncellerseniz daha mantıklı olur yani veri tabanında yine o veritabanı bilgilerini kaydetmenin bir anlamı yoktur
Dostum dediğin yöntemi de denedim sanırım ben beceremedim bakabileceğim bildiğin bir örnek var mı bir yerde
https://hakankorkmaz.site
-
Üyelik
07.08.2014
-
Yaş/Cinsiyet
31 / E
-
Meslek
Öğrenci
-
Konum
Diyarbakır
-
Ad Soyad
H** K**
-
Mesajlar
718
-
Beğeniler
37 / 219
-
Ticaret
7, (%100)
Hocam kurulmadan önce config.php dosyanıza varsayılan kodlar ekleyin.
Örnek;
$veritabani="db_blog";
$dbkullanici="db_blog";
$sifre="sifre123";
Sonra formdan gelen verilerle buradaki verileri güncelleyin. Şuan mobildeyim deneme şansım yok, nette örnek bir fonksiyon buldum. Çalışıyor mu bilmiyorum ama mantık iş görür.
function replaceInFile($what, $with, $file){
$buffer = "";
$fp = file($file);
foreach($fp as $line){
$buffer .= preg_replace("|".$what."[A-Za-z_.]*|", $what.$with, $line);
}
fclose($fp);
echo $buffer;
file_put_contents($file, $buffer);
}
Fonksiyon kullanımı;
replaceInFile('$veritabani="db_blog";', '$veritabani="formdangelenveri";', 'config.php');
1 kişi bu mesajı beğendi.
-
Üyelik
07.03.2018
-
Yaş/Cinsiyet
27 / E
-
Meslek
Mesleğim yok
-
Konum
Sakarya
-
Ad Soyad
H** K**
-
Mesajlar
250
-
Beğeniler
54 / 66
-
Ticaret
2, (%100)
hafselkarayel Dostum bu günden beri çok yoğunum wmaracı formuna anca girebildim yarın ilk iş bu metodu denemek olacak teşekkür ederim yardımın için en kısa sürede olumlu olumsuz dönüşü buradan bildireceğim ilgin için ilginiz için tüm arkadaşlara teşekkür ederim..
https://hakankorkmaz.site
-
Üyelik
16.12.2013
-
Yaş/Cinsiyet
32 / E
-
Meslek
web programcılık
-
Konum
Gaziantep
-
Ad Soyad
S** A**
-
Mesajlar
89
-
Beğeniler
67 / 19
-
Ticaret
1, (%0)
@HakanKorkz sabah yazamadım umarım bu kodlar işini çözer :D
//posttan gelen verileri bu değişkenlere aktar
$post_gelen_host = 'localhost';
$post_gelen_db = 'deneme'; //sen buralara posttan gelen verileriekle
$post_gelen_user = 'user'; //sen buralara posttan gelen verileriekle
$post_gelen_pass = '354'; //sen buralara posttan gelen verileriekle
$ayar_content = ' $ayar_content .= '$host = "'.$post_gelen_host.'" ; '."\n";
$ayar_content .= '$db = "'.$post_gelen_db.'" ; '."\n";
$ayar_content .= '$user = "'.$post_gelen_user.'" ; '."\n";
$ayar_content .= '$pass = "'.$post_gelen_pass.'" ; '."\n\n";
$ayar_content .= ' ?> ';
touch("ayar.php");
$ayar = fopen('ayar.php', 'w');
fwrite($ayar, $ayar_content);
fclose($ayar);
//ayar dosyası oluşturmuş olduk şimdi bu ayar dosyasını include ederek bağlantımızı kurabiliriz
//bu dosyayı açıp parse etmene gerek yok yani include et ve icindeki değişkenleri kullan
//hatta sayfa başında ayar dosyası kontrolu yapıp ayar dosyası varsa ve veritabanıda varsa kurulumdan atlatıp
//yoksa kuruluma geçebilirsin
//bu dosyayı oluşturduktan sonra veritabanınıda oluşturubilirsin
//alttaki kodları internetten kopyaladım ve denemedim
try {
$dbh = new PDO("mysql:host=$post_gelen_host", $post_gelen_user, $post_gelen_pass);
$dbh->exec("CREATE DATABASE `$post_gelen_db`;
CREATE USER '$post_gelen_user'@'post_gelen_host' IDENTIFIED BY '$post_gelen_pass';
GRANT ALL ON `$post_gelen_db`.* TO '$post_gelen_user'@'post_gelen_host';
FLUSH PRIVILEGES;")
or die(print_r($dbh->errorInfo(), true));
} catch (PDOException $e) {
die("DB ERROR: ". $e->getMessage());
}
//bu kodlarlada mysql e formdan gelen veri tabanı adında veritabı oluşturulmuş olur tabi denemedim bu kodları
//MANTIĞI ANLADIYSAN NASIL GELİŞTİRECEĞİN SANA KALMIŞ ARTIK
1 kişi bu mesajı beğendi.