Soyez le premier à donner votre avis sur cette source.
Vue 11 408 fois - Téléchargée 1 145 fois
<?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"; ?>
;-)
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!!!
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.