Installation automatique des scripts php/mysql!

Soyez le premier à donner votre avis sur cette source.

Vue 10 828 fois - Téléchargée 1 110 fois

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

Ajouter un commentaire

Commentaires

cs_windu
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006
-
je viens d'essayer ton code... Franchement c'est génial ce truc, tout con mais génial...
Par contre juste un détail: dans le fichire setup.php tu mets une redirection vers la page setup_form.php en cas d'erreur de saisie, mais ne vaudrait-il pas mieux le faire avec header("Location:setup_form.php") plutot qu'en javascript? car cela eviterait un envoi inutil vers le navigateur...
Mais sinon c'est vraiment bien fait ce code!!!
cs_alexlord
Messages postés
8
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
15 février 2006
-
Je viens de remplacer le code javascript par le header()
;-)
jonguignolo
Messages postés
91
Date d'inscription
samedi 8 mars 2003
Statut
Membre
Dernière intervention
5 août 2010
-
franchement je suis du même avis que windu. GG

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.