| Autor | Zpráva | ||
|---|---|---|---|
| Josef Přerovský Profil |
Zdravím, vytvářím jednoduchý instalační script pro web, ale nemůžu přijít, ani se dopátrat na 1 věc...
když bych chtěl, aby se uložila data, které zadám na web, jako db_server, db_name, db_pass ... do souboru, třeba: include/DB.php a tam je: // napojeni na databazi $db_server = "****"; //IP nebo URL k napojeni $db_user = "****"; //Jmeno uzivatele k db $db_pass = '****'; //Heslo k db $db_name = "****"; //Jmeno databaze ve ktere jsou nahrane data Díky za rady, a omlouvám se možná za trochu zmatené téma. Tak nakonec jsem to vyřešil takhle: <?php }; if($krok == "2") {
$db_server = null;
$db_user = null;
$db_pass = null;
$db_name = null;
$data_server = $_POST["database_server"];
$data_name = $_POST["database_name"];
$data_user = $_POST["database_user"];
$data_pass = $_POST["database_password"];
if($_POST["setDatabase"]) {
$file = 'include/DB_01.php';
$data = "<?php
$db_server = '$data_server';
$db_user = '$data_user';
$db_pass = '$data_pass';
$db_name = '$data_name';
$connect = mysql_connect($db_server, $db_user, $db_pass);
$database = mysql_select_db($db_name);
?>";
file_put_contents($file, $data, FILE_APPEND);
header('Location: ?step=3');
}
?>Zkoušel jsem i to nahoře oddělat a nepomohlo. |
||
| Alphard_ Profil * |
#2 · Zasláno: 10. 2. 2019, 17:43:54
Nápad dobrý, ale je třeba doladit syntaxi jazyka. Když takto bez escapování použiteje názvy proměnných, budou nahrazeny za jejich obsah (což je null -> prázdný řetězec).
V jednoduchých apostrofech k jejich nahrazení nedojde: if($_POST["setDatabase"]) {
$file = 'include/DB_01.php';
$data = '<?php
$db_server = \''.$data_server.'\';
$db_user = \''.$data_user.'\';
$db_pass = \''.$data_pass.'\';
$db_name = \''.$data_name.'\';
$connect = mysql_connect($db_server, $db_user, $db_pass);
$database = mysql_select_db($db_name);
?>';
file_put_contents($file, $data); // FILE_APPEND nedává moc smysl
header('Location: ?step=3');
}PS 1: vstupy nejsou ošetřené a includuje se to do stránky, takto lze zcela ovládnout web. PS 2: Lepší než generovat kód by bylo uložit si konfigurační soubor, např. file_put_contents($file, json_encode(['server' => $data_server, 'user' => '$data_user' /*, ...*/])); Jen pozor, ať není zobrazitelný z venku.
|
||
|
Časová prodleva: 7 let
|
|||
0