par
djtec » 15 juin 2007, 16:01
Voici le script original:
<?php
include_once 'header.php'; //On inclue le header du rpertoire installation
if( isset($_POST['envoi'])) { //Si le formulaire a t envoy
extract ($_POST); //On extrait les variables du formulaire
///////On scurise les valeures en fonction de magic_quotes
$serveur = (!get_magic_quotes_gpc()) ? addslashes($serveur) : $serveur;
$utilisateur = (!get_magic_quotes_gpc()) ? addslashes($utilisateur) : $utilisateur;
$passe = (!get_magic_quotes_gpc()) ? addslashes($passe) : $passe;
$base = (!get_magic_quotes_gpc()) ? addslashes($base) : $base;
$prefix = (!get_magic_quotes_gpc()) ? addslashes($prefix) : $prefix;
$environement = (!get_magic_quotes_gpc()) ? addslashes($environement) : $environement;
$email = (!get_magic_quotes_gpc()) ? addslashes($email) : $email;
$nom = (!get_magic_quotes_gpc()) ? addslashes($nom) : $nom;
$adresse = (!get_magic_quotes_gpc()) ? addslashes($adresse) : $adresse;
$description = (!get_magic_quotes_gpc()) ? addslashes($description) : $description;
$cles = (!get_magic_quotes_gpc()) ? addslashes($cles) : $cles;
$validation = (!get_magic_quotes_gpc()) ? addslashes($validation) : $validation;
if(!preg_match("!^[1-2]$!", $environement)) exit; //On vrifie les listes choix
if(!preg_match("!^[1-3]$!", $validation)) exit;
if(!@mysql_connect($serveur, $utilisateur, $passe)) { //On vrifie si la connexion la base existe
echo'<span style="color:#d00000">Impossible de se connecter la base.</span>'; //Si non, on affiche un message d'erreur et on arrte le script
exit;
}
elseif(@mysql_connect($serveur, $utilisateur, $passe))
echo'<span style="color:#009800">Connexion la base de donnes russie.</span><br />'; //Si oui, on l'indique
if(!@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe))) { //Vrification, cration si elle n'existe pas de la base
if(@mysql_query("CREATE DATABASE $base"))
echo'<span style="color:#009800">La base ', $base ,' n\'existait pas, elle a t cr.</span><br />';
else {
echo'<span style="color:#d00000">La base ', $base ,' n\'existe pas et elle a n\'a pas pu tre cr.</span>';
exit;
}
}
if(@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<span style="color:#009800">Connexion la base ', $base ,' tablie.</span><br />';
if(!@mysql_query("CREATE TABLE ". $prefix ."config (
attribut VARCHAR( 20 ) NOT NULL ,
valeur TEXT NOT NULL)")) { //Cration de la table config
echo'<span style="color:#d00000">La table ', $prefix ,'config n\'a pas put tre cre.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'config a t cre.</span><br />';
if(!@mysql_query("CREATE TABLE ". $prefix ."membres (
id MEDIUMINT NOT NULL AUTO_INCREMENT ,
identifiant VARCHAR( 30 ) NOT NULL ,
pseudo VARCHAR( 15 ) NOT NULL ,
passe VARCHAR( 40 ) NOT NULL ,
email TEXT NOT NULL ,
valide BINARY NOT NULL ,
rang SMALLINT( 1 ) NOT NULL ,
INDEX ( id ))")) { //Cration de la table membres
echo'<span style="color:#d00000">La table ', $prefix ,'membres n\'a pas put tre cre.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'membres a t cre.</span><br />';
if( !@mysql_query("INSERT INTO ". $prefix ."config VALUES('environement_site', $environement)") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('email_site', '$email')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('nom_site', '$nom')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('adresse_site', '$adresse')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('description_site', '$description')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('cles_site', '$cles')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('validation_site', $validation)")) { //ajout de la config
echo'<span style="color:#d00000">La configuration du script ne s\'est pas effectue correctement.</span><br />';
exit;
}
else
echo'<span style="color:#009800">La configuration du script s\'est effectue correctement.</span>';
if(@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<br /><br />Modifiez le fichier configuration.php avec un diteur de texte (genre bloc note) qui est dans le dossier de l\'espace membres avant de continuer l\'installation en y ajoutant le code ci-dessous (n\'oubliez pas de le retransfrer sur le serveur si vous n\'tes pas en local) : <br />
<textarea rows="6" cols="50"><?php
define(SERVEUR, "', $serveur ,'");
define(UTILISATEUR, "', $utilisateur ,'");
define(PASSE, "', $passe ,'");
define(BASE, "', $base ,'");
define(PREFIX, "', $prefix ,'");
?></textarea>';
echo'<br /><br /><a href="ajout_admin.php">Ajouter un administrateur</a>';
}
else { // Si le formulaire n'a pas t envoy, on l'affiche
?>
<form action="" method="post">
<label for="serveur">[<a href="#serveur" class="aide">?</a>] Serveur de la base de donnes (MySql)</label><input type="text" name="serveur" id="serveur" value="localhost" /><br />
<label for="utilisateur">[<a href="#utilisateur" class="aide">?</a>] Nom d'utilisateur de la base de donnes (MySql)</label><input type="text" name="utilisateur" id="utilisateur" /><br />
<label for="passe">[<a href="#passe" class="aide">?</a>] Mot de passe de la base de donnes (MySql)</label><input type="text" name="passe" id="passe" /><br />
<label for="base">[<a href="#base" class="aide">?</a>] Nom de la base de donnes (MySql)</label><input type="text" name="base" id="base" /><br />
<label for="prefix">[<a href="#prefix" class="aide">?</a>] Prfix des tables de la base (MySql)</label><input type="text" name="prefix" id="prefix" value="espm_" /><br />
<label for="environement">Environement (Local = EasyPHP, Wamp)</label><select name="environement" id="environement" /><option value="1">Local</option><option value="2">En ligne</option></select><br /><br />
<label for="nom">Nom du site (appratra dans la barre du navigateur)</label><input type="text" name="nom" id="nom" /><br />
<label for="email">Votre adresse e-mail (pour la page contact)</label><input type="text" name="email" id="email" /><br />
<label for="adresse">L'adresse de votre site (doit se terminer par "/")</label><input type="text" name="adresse" id="adresse" value="
<?php
if(isset($_SERVER['SERVER_NAME']))
echo 'http://', $_SERVER['SERVER_NAME'].str_replace("/Installation/index.php", "", $_SERVER['SCRIPT_NAME']); //autoremplissage du champ
else
echo'http://';
?>
/" /><br /><br />
<label for="description">[<a href="#description" class="aide">?</a>] Description du site</label><input type="text" name="description" id="description" /><br />
<label for="cles">[<a href="#cles" class="aide">?</a>] Mots cls du site</label><input type="text" name="cles" id="cles" />
<br /><br />
<label for="validation">[<a href="#validation" class="aide">?</a>] Validation d'inscription des membres</label><select name="validation" id="validation" /><option value="1">Par mail</option><option value="2">Par administrateur</option><option value="3">Aucune</option></select><br />
<br /><br />
<div align="center"><input type="submit" value="Lancer l'installation" name="envoi" /></div></form></div><br /><br />
<div id="corps">
<div align="center">AIDE</div><br /></div>
<div id="corps"><br />
<a name="serveur">
Serveur mysql, rensignez vous au prs de votre hbergeur, si vous tes en local (EasyPHP, Wamp) le serveur est "localhost".</a>
<br /><br />
<a name="utilisateur">
Nom d'utilisateur mysql, rensignez vous au prs de votre hbergeur, c'est souvent le mme que celui de votre compte, si vous tes en local (EasyPHP, Wamp) le nom d'utilisateur est "root".</a>
<br /><br />
<a name="passe">
Mot de passe mysql, rensignez vous au prs de votre hbergeur, c'est souvent le mme que celui de votre compte, si vous tes en local (EasyPHP, Wamp) le mot de passe est vide (ne pas remplir la case).</a>
<br /><br />
<a name="base">
Nom de base mysql, rensignez vous au prs de votre hbergeur, c'est parfois le mme que l'utilisateur de votre compte, si vous n'avez pas encore de base, vous pouvez mettre ce que vous voulez (lettres), elle sera cr automatiquement.</a>
<br /><br />
<a name="prefix">
Le prefix sert reprer, une fois cr, les tables correspondantes l'espace membres. Il est conseill de mettre un underscore ("_") aprs le prfix pour dlimiter le prefix et le nom de la table.</a>
<br /></div>
<div id="corps">
<a name="description">
La description du site ne sert que pour les moteurs de recherche et accessoirement sur le site.</a>
<br /><br />
<a name="cles">
Les mots cls ne servent que pour les moteurs de recherche, les sparer par une virgule.</a>
<br /></div>
<div id="corps">
<a name="validation">
Validation d'inscription des membres, vous pouvez choisir la forme avec laquelle les membres vont valider leurs comptes. Par mail, les membres recevront par mail une cl de confirmation sur laquelle ils devront cliquer pour dbloquer l'accs leur espace, cette option revient aucune validation si vous fonctionnez en local. L'option par administrateur vous permet, de valider vous mme les comptes des personnes qui s'inscrivent, en effet, il vous est rserv une partie dans l'administration (si vous avez choisit l'option), o il y a les membres en attente. Enfin, vous pouvez choisir que les membres n'est pas besoin d'tre valids, ils recevront juste un e-mail donnant leurs identifiants.</a>
</div>
<?php
}
?>
Voici le script original:
[php]<?php
include_once 'header.php'; //On inclue le header du rpertoire installation
if( isset($_POST['envoi'])) { //Si le formulaire a t envoy
extract ($_POST); //On extrait les variables du formulaire
///////On scurise les valeures en fonction de magic_quotes
$serveur = (!get_magic_quotes_gpc()) ? addslashes($serveur) : $serveur;
$utilisateur = (!get_magic_quotes_gpc()) ? addslashes($utilisateur) : $utilisateur;
$passe = (!get_magic_quotes_gpc()) ? addslashes($passe) : $passe;
$base = (!get_magic_quotes_gpc()) ? addslashes($base) : $base;
$prefix = (!get_magic_quotes_gpc()) ? addslashes($prefix) : $prefix;
$environement = (!get_magic_quotes_gpc()) ? addslashes($environement) : $environement;
$email = (!get_magic_quotes_gpc()) ? addslashes($email) : $email;
$nom = (!get_magic_quotes_gpc()) ? addslashes($nom) : $nom;
$adresse = (!get_magic_quotes_gpc()) ? addslashes($adresse) : $adresse;
$description = (!get_magic_quotes_gpc()) ? addslashes($description) : $description;
$cles = (!get_magic_quotes_gpc()) ? addslashes($cles) : $cles;
$validation = (!get_magic_quotes_gpc()) ? addslashes($validation) : $validation;
if(!preg_match("!^[1-2]$!", $environement)) exit; //On vrifie les listes choix
if(!preg_match("!^[1-3]$!", $validation)) exit;
if(!@mysql_connect($serveur, $utilisateur, $passe)) { //On vrifie si la connexion la base existe
echo'<span style="color:#d00000">Impossible de se connecter la base.</span>'; //Si non, on affiche un message d'erreur et on arrte le script
exit;
}
elseif(@mysql_connect($serveur, $utilisateur, $passe))
echo'<span style="color:#009800">Connexion la base de donnes russie.</span><br />'; //Si oui, on l'indique
if(!@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe))) { //Vrification, cration si elle n'existe pas de la base
if(@mysql_query("CREATE DATABASE $base"))
echo'<span style="color:#009800">La base ', $base ,' n\'existait pas, elle a t cr.</span><br />';
else {
echo'<span style="color:#d00000">La base ', $base ,' n\'existe pas et elle a n\'a pas pu tre cr.</span>';
exit;
}
}
if(@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<span style="color:#009800">Connexion la base ', $base ,' tablie.</span><br />';
if(!@mysql_query("CREATE TABLE ". $prefix ."config (
attribut VARCHAR( 20 ) NOT NULL ,
valeur TEXT NOT NULL)")) { //Cration de la table config
echo'<span style="color:#d00000">La table ', $prefix ,'config n\'a pas put tre cre.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'config a t cre.</span><br />';
if(!@mysql_query("CREATE TABLE ". $prefix ."membres (
id MEDIUMINT NOT NULL AUTO_INCREMENT ,
identifiant VARCHAR( 30 ) NOT NULL ,
pseudo VARCHAR( 15 ) NOT NULL ,
passe VARCHAR( 40 ) NOT NULL ,
email TEXT NOT NULL ,
valide BINARY NOT NULL ,
rang SMALLINT( 1 ) NOT NULL ,
INDEX ( id ))")) { //Cration de la table membres
echo'<span style="color:#d00000">La table ', $prefix ,'membres n\'a pas put tre cre.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'membres a t cre.</span><br />';
if( !@mysql_query("INSERT INTO ". $prefix ."config VALUES('environement_site', $environement)") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('email_site', '$email')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('nom_site', '$nom')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('adresse_site', '$adresse')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('description_site', '$description')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('cles_site', '$cles')") ||
!@mysql_query("INSERT INTO ". $prefix ."config VALUES('validation_site', $validation)")) { //ajout de la config
echo'<span style="color:#d00000">La configuration du script ne s\'est pas effectue correctement.</span><br />';
exit;
}
else
echo'<span style="color:#009800">La configuration du script s\'est effectue correctement.</span>';
if(@mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<br /><br />Modifiez le fichier configuration.php avec un diteur de texte (genre bloc note) qui est dans le dossier de l\'espace membres avant de continuer l\'installation en y ajoutant le code ci-dessous (n\'oubliez pas de le retransfrer sur le serveur si vous n\'tes pas en local) : <br />
<textarea rows="6" cols="50"><?php
define(SERVEUR, "', $serveur ,'");
define(UTILISATEUR, "', $utilisateur ,'");
define(PASSE, "', $passe ,'");
define(BASE, "', $base ,'");
define(PREFIX, "', $prefix ,'");
?></textarea>';
echo'<br /><br /><a href="ajout_admin.php">Ajouter un administrateur</a>';
}
else { // Si le formulaire n'a pas t envoy, on l'affiche
?>
<form action="" method="post">
<label for="serveur">[<a href="#serveur" class="aide">?</a>] Serveur de la base de donnes (MySql)</label><input type="text" name="serveur" id="serveur" value="localhost" /><br />
<label for="utilisateur">[<a href="#utilisateur" class="aide">?</a>] Nom d'utilisateur de la base de donnes (MySql)</label><input type="text" name="utilisateur" id="utilisateur" /><br />
<label for="passe">[<a href="#passe" class="aide">?</a>] Mot de passe de la base de donnes (MySql)</label><input type="text" name="passe" id="passe" /><br />
<label for="base">[<a href="#base" class="aide">?</a>] Nom de la base de donnes (MySql)</label><input type="text" name="base" id="base" /><br />
<label for="prefix">[<a href="#prefix" class="aide">?</a>] Prfix des tables de la base (MySql)</label><input type="text" name="prefix" id="prefix" value="espm_" /><br />
<label for="environement">Environement (Local = EasyPHP, Wamp)</label><select name="environement" id="environement" /><option value="1">Local</option><option value="2">En ligne</option></select><br /><br />
<label for="nom">Nom du site (appratra dans la barre du navigateur)</label><input type="text" name="nom" id="nom" /><br />
<label for="email">Votre adresse e-mail (pour la page contact)</label><input type="text" name="email" id="email" /><br />
<label for="adresse">L'adresse de votre site (doit se terminer par "/")</label><input type="text" name="adresse" id="adresse" value="
<?php
if(isset($_SERVER['SERVER_NAME']))
echo 'http://', $_SERVER['SERVER_NAME'].str_replace("/Installation/index.php", "", $_SERVER['SCRIPT_NAME']); //autoremplissage du champ
else
echo'http://';
?>
/" /><br /><br />
<label for="description">[<a href="#description" class="aide">?</a>] Description du site</label><input type="text" name="description" id="description" /><br />
<label for="cles">[<a href="#cles" class="aide">?</a>] Mots cls du site</label><input type="text" name="cles" id="cles" />
<br /><br />
<label for="validation">[<a href="#validation" class="aide">?</a>] Validation d'inscription des membres</label><select name="validation" id="validation" /><option value="1">Par mail</option><option value="2">Par administrateur</option><option value="3">Aucune</option></select><br />
<br /><br />
<div align="center"><input type="submit" value="Lancer l'installation" name="envoi" /></div></form></div><br /><br />
<div id="corps">
<div align="center">AIDE</div><br /></div>
<div id="corps"><br />
<a name="serveur">
Serveur mysql, rensignez vous au prs de votre hbergeur, si vous tes en local (EasyPHP, Wamp) le serveur est "localhost".</a>
<br /><br />
<a name="utilisateur">
Nom d'utilisateur mysql, rensignez vous au prs de votre hbergeur, c'est souvent le mme que celui de votre compte, si vous tes en local (EasyPHP, Wamp) le nom d'utilisateur est "root".</a>
<br /><br />
<a name="passe">
Mot de passe mysql, rensignez vous au prs de votre hbergeur, c'est souvent le mme que celui de votre compte, si vous tes en local (EasyPHP, Wamp) le mot de passe est vide (ne pas remplir la case).</a>
<br /><br />
<a name="base">
Nom de base mysql, rensignez vous au prs de votre hbergeur, c'est parfois le mme que l'utilisateur de votre compte, si vous n'avez pas encore de base, vous pouvez mettre ce que vous voulez (lettres), elle sera cr automatiquement.</a>
<br /><br />
<a name="prefix">
Le prefix sert reprer, une fois cr, les tables correspondantes l'espace membres. Il est conseill de mettre un underscore ("_") aprs le prfix pour dlimiter le prefix et le nom de la table.</a>
<br /></div>
<div id="corps">
<a name="description">
La description du site ne sert que pour les moteurs de recherche et accessoirement sur le site.</a>
<br /><br />
<a name="cles">
Les mots cls ne servent que pour les moteurs de recherche, les sparer par une virgule.</a>
<br /></div>
<div id="corps">
<a name="validation">
Validation d'inscription des membres, vous pouvez choisir la forme avec laquelle les membres vont valider leurs comptes. Par mail, les membres recevront par mail une cl de confirmation sur laquelle ils devront cliquer pour dbloquer l'accs leur espace, cette option revient aucune validation si vous fonctionnez en local. L'option par administrateur vous permet, de valider vous mme les comptes des personnes qui s'inscrivent, en effet, il vous est rserv une partie dans l'administration (si vous avez choisit l'option), o il y a les membres en attente. Enfin, vous pouvez choisir que les membres n'est pas besoin d'tre valids, ils recevront juste un e-mail donnant leurs identifiants.</a>
</div>
<?php
}
?>[/php]