Installation automatique des scripts php/mysql!

Description

Script qui génére un fichier config.php avec les paramètres de connexion fournis par l'utilisateur dans le formulaire setup_form.php, si ces parametres sont justes et effectue une requête MySQL personnalisable. Possibilite d'autoéffacement des fichiers d'installtion ci celle ci réussit.

Source / Exemple :


<?php
//NOM DU FICHIER OBLIGATOIRE: setup_form.php
//Script d'installation automatique de scripts php
//(C) Grapsus, grapsus@hotmail.com
//ce script est libre vous pouvez en faire ce que vous voulez!
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Installation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="setup.php" method="post" name="" id="">
  <p><font size="4">Installation automatique</font></p>
  <p><font size="3">Serveur MySQL: </font><input name="host" type="text" id="host">
    <font size="3"><br>
    Login: 
    <input name="login" type="text" id="login">
    <br>
Mot de passe: 
<input name="pass" type="text" id="pass">
<br>
Base de données: 
<input name="db" type="text" id="db">
<br>
<br>
<input name="sup" type="checkbox" id="sup" value="sup" checked>
Supprimer les fichiers d'installation si celle-ci réussit (en effet il est déconseillé de garder ces fichiers d'installation sur le serveur une fois le script installé).<br>
<br>
<input type="submit" value="Installer">
  </font></p>
</form>
<p><font size="3"><br>
  </font></p>
</body>
</html>

<?php
//NOM DU FICHIER OBLIGATOIRE: setup.php
//Script d'installation automatique de scripts php
//(C) Grapsus, grapsus@hotmail.com
//ce script est libre vous pouvez en faire ce que vous voulez!
if(!isset($_POST["host"]) OR !isset($_POST["login"]) OR !isset($_POST["pass"]) OR !isset($_POST["db"])){
	//si les variable nessassaires au script ne sont pas definies on envoie l'utilisateur a la page-formulaire...
	header("Location: setup_form.php");
	exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Installation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//connexion à MySQL avec les données fournis... puis selection de la base de données
//le @ évite l'affichage du warning php!
if($link = @mysql_connect($_POST["host"], $_POST["login"], $_POST["pass"]) && @mysql_select_db($_POST["db"])){
	
	//tapez ci dessous les requetes qui vont créer les tables de votre script:
	//$tables = mysql_query("CREATE TABLE...", $link);
	
	//création du fichier de configuration:
	$file = fopen("config.php", "w");
	//écriture des parametres dans ce fichier, vous pouvez en rajouter d'autres selon le même modèle:
	fwrite($file, "<?php\r\n
\$host=\"$_POST[host]\";\r\n
\$login=\"$_POST[login]\";\r\n
\$pass=\"$_POST[pass]\";\r\n
\$db=\"$_POST[db]\";\r\n
?>"
	);
	//on ferme le fichier de configuration:
	fclose($file);
	
	echo "Installation réussie!<br>";
	
	//si la case "Supprimer les fichiers d'install si celle-ci réussit" est cochée,
	//on supprime les fichiers d'installation (c'est une autosuppression en quelque sorte!)
	if(isset($_POST["sup"])){
		unlink("setup.php");
		unlink("setup_form.php");
		echo "Les fichiers d'installation setup.php et setup_form.php ont été supprimés pour des raisons de sécurité.";
	}
//si les données MySQL sont invalides:	
}else{
	echo "Impossible de se connecter à MySQL avec les paramètres fournis!<a href='setup_form.php'>Retour</a>";
}
?>
</body>
</html>

<?php
//Voici le fichier config.php généré par ce script si l'installation réussit:
$host="localhost";

$login="root";

$pass="";

$db="test";

?>

Conclusion :


Script qui genere un fichier config.php avec les parametres fournis par le formulaire setup_form.php si ces parametres sont justes et effectue une requete MySQL personnalisable. Possibilite d'autoeffacement des fichiers d'installtion ci celle ci réussit.

Note: sur certains serveurs il est possible que vous soyez obligé de mettre le CHMOD de setup.php à 777 pour que le script marche.

Le script setup.php est commenté!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.