Инсталация на файл.

dakata__92

Super Moderator
Искам да направя една проста инсталация. Ммм идеята ми е да въведна в някакви полета определена информация и да въведа в с тринг дефиниране на константи, които да запиша във файл с определено име. Примерно имам Install.php който създава installed.php с дефинирани константи в него. Примерно имам тези константи, които трябва да дефинирам и потребителя да въведе.
PHP:
define("SHOW_ERROR", true);
define("SHOW_EXCEPTION", true);
define("ERROR_TEMPLATE", "Errors.php");
Искам някак да направя формите да се показват една след друга за да може потребителя да ги въвежда последователно в install.php след което да се създава другият файл. До момента драснах ето това:
PHP:
<?php
if(isset($_POST["submit"])){
	$file = fopen('installed.php',"w");
	$content = '<?php
define("SHOW_ERROR", '.$_POST["SHOW_ERROR"].');
define("SHOW_EXCEPTION", '.$_POST["SHOW_EXCEPTION"].');
define("ERROR_TEMPLATE", "'.$_POST["ERROR_TEMPLATE"].'");
	';
	fwrite($file,$content);
	fclose($file);
}
?>
<!DOCTYPE html>
<html lang="bg" dir="ltr">
<head>
	<title>Инсталиране</title>
	<meta charset="UTF-8"/>
</head>
<body>
	<form method="post">
	<input type="text" name="SHOW_ERROR" value="true"/>
	<br><input type="text" name="SHOW_EXCEPTION" value="true"/>
	<br><input type="text" name="ERROR_TEMPLATE" value="Errors.php"/>
	<br><input type="submit" name="submit" value="Инсталирай"/>
	</form>
</body>
</html>

Как бихте постъпили Вие? Естествено този файл след инсталиране ще се изтрие.
 
Като за начало аз бих направил всички boolean неща да се пращат като checkbox-ове:

HTML:
<label><input name="show_errors" type="checkbox">Show errors?</label>

PHP:
$show_errors = isset($_POST['show_errors']) ? "true" : "false";
echo "define(\"SHOW_ERROR\", $show_errors);";
 
anonimen каза:
Като за начало аз бих направил всички boolean неща да се пращат като checkbox-ове:

HTML:
<label><input name="show_errors" type="checkbox">Show errors?</label>

PHP:
$show_errors = isset($_POST['show_errors']) ? "true" : "false";
echo "define("SHOW_ERROR", $show_errors);";
Даааа това не се бях усетил да го сторя. :)
 
Аз бих ти предложил да изпозлваш сесии за насочване на потребителя, така да се каже.

Примерно искаш инсталацията да ти е в няколко стъпки и те да се изпълняват една след друга(а не потребителя да барне url-а и да влезе там), е точно затова ти трябват сесии.

Примерно:
Код:
$_SESSION['install']['stupka2'] = true
И в стъпка 2, проверяваш дали е зададена тая сесия, ако не е, връщаш обратно :) :?:

Едит:

Другото ми предложение е да си наблъскаш всичко в сесийна променлива и след това накрая да правиш файловете, защото потребителя може на половината на стъпките да затвори браузъра или нещо такова и инсталацията ще е наравена наполовина и може да стане някакво объркване при още едно инсталиране.
Пример:
Код:
$_SESSION['install-config'][]
И тоя арей си го пълниш с информация и накрая при затваряне на браузъра сесията се трие и да. :idea: :?:
 
Моята идея първоначалната е била леко глупава. Явно си е най-сигурно да се отвори инсталатора в него да се покаже една огромна форма с различните настройки ако потребителя е съгласен или не просто променя настройката след което просто сюбмитва формата и създавам файла. От там нататък следват съвсем други проверки и това е. Идеята е просто да може да се създава този файл след което ако е създаден да се отваря и вика работната рамка без грешки. :)
 
dakata__92 каза:
Моята идея първоначалната е била леко глупава. Явно си е най-сигурно да се отвори инсталатора в него да се покаже една огромна форма с различните настройки ако потребителя е съгласен или не просто променя настройката след което просто сюбмитва формата и създавам файла. От там нататък следват съвсем други проверки и това е. Идеята е просто да може да се създава този файл след което ако е създаден да се отваря и вика работната рамка без грешки. :)
Съвсем спокойно тази дълга конф-страница можеш да я разпределиш в div-ове и с един бутон "next" да показваш следващия. Имаше тук един туториал за "скрол кутийка", сега ще проверя...
 

Back
Горе