Problème avec un script d'install automatique
Posté : 15 juin 2007, 15:33
Bonjour,
Voilà je suis en train de créer un script d'install automatique d'un de mes scripts.
Et la c'est le bug il se connect bien à ma base de donnée mais il n'arrive pas a créer les tables.
Voici mon script:
Sa me dit "La table test__blog n'a pas put être crée."
Et je vois pas d'ou se problème pourrait venir.
J'espère que quelqu'un pourra m'aider.
Merci d'avance.
Voilà je suis en train de créer un script d'install automatique d'un de mes scripts.
Et la c'est le bug il se connect bien à ma base de donnée mais il n'arrive pas a créer les tables.
Voici mon script:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Installation du script.</title>
<meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1" />
<meta name="robots" content="no" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="corps" align="center">
<table border="0" align="center" width="100%">
<tr>
<td><h3>Installation du script</h3></td>
</tr>
</table>
<table border="0" align="center" width="100%">
<tr>
<td>
<?php
if( isset($_POST['envoi'])) {
extract ($_POST);
///////////////////////////////////////////// Sécurisation des données /////////////////////////////////////////
$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;
$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;
$date = date("Y-m-d"); //Date du jour
$heure = date("H:i"); //Date du jour
///////////////////////////////////////////// Connection à la base /////////////////////////////////////////
if(!mysql_connect($serveur, $utilisateur, $passe)) {
echo'<span style="color:#d00000">Impossible de se connecter la base.</span>';
exit;
}
elseif(mysql_connect($serveur, $utilisateur, $passe))
echo'<span style="color:#009800">Connexion la base de données réussie.</span><br />';
if(!mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe))) {
if(mysql_query("CREATE DATABASE $base"))
echo'<span style="color:#009800">La base ', $base ,' n\'existait pas, elle à été crée.</span><br />';
else {
echo'<span style="color:#d00000">La base ', $base ,' n\'existe pas et elle n\'a pas pu être crée.</span>';
exit;
}
}
///////////////////////////////////////////// Création des tables /////////////////////////////////////////
if(mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<span style="color:#009800">Connexion la base ', $base ,' tablie.</span><br />';
//
/// Création de la table blog
//
if(!mysql_query("
CREATE TABLE `". $prefix ."_blog` (
`id` int(11) NOT NULL auto_increment,
`titre` vachar(255) NOT NULL,
`texte` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
")) {
echo'<span style="color:#d00000">La table ', $prefix ,'_blog n\'a pas put être crée.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'_blog à été crée.</span><br />';
//
/// Création de la table comment
//
if(!mysql_query("
CREATE TABLE `". $prefix ."_comment` (
`id` int(11) NOT NULL auto_increment,
`id_blog` varchar(11) NOT NULL default '',
`pseudo` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`titre` vachar(255) NOT NULL,
`texte` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
")) {
echo'<span style="color:#d00000">La table ', $prefix ,'_comment n\'a pas put être crée.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'_comment à été crée.</span><br />';
//
/// Création de la table admin
//
if(!mysql_query("
CREATE TABLE `". $prefix ."_admin` (
`id` int(11) NOT NULL auto_increment,
`pseudo` vachar(255) NOT NULL,
`mdp` vachar(255) NOT NULL,
`mail` vachar(255) NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
")) {
echo'<span style="color:#d00000">La table ', $prefix ,'_admin n\'a pas put être crée.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'_admin à été crée.</span><br />';
//
/// Création de la table guestbook
//
if(!mysql_query("
CREATE TABLE `". $prefix ."_guestbook` (
`id` int(11) NOT NULL auto_increment,
`pseudo` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`titre` vachar(255) NOT NULL,
`texte` text NOT NULL,
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
")) {
echo'<span style="color:#d00000">La table ', $prefix ,'_guestbook n\'a pas put être crée.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'_guestbook à été crée.</span><br />';
//
/// Création de la table config
//
if(!mysql_query("
CREATE TABLE `". $prefix ."_config` (
`titlesite` varchar(255) NOT NULL default '',
`linksite` varchar(255) NOT NULL default '',
`keyworks` text NOT NULL default '',
`desc` text NOT NULL,
`mailwebmaster` varchar(255) NOT NULL default '',
`activecomment` varchar(11) NOT NULL default '',
`activeflag` varchar(11) NOT NULL default '',
`activewebsite` varchar(11) NOT NULL default '',
) TYPE=MyISAM ;
")) {
echo'<span style="color:#d00000">La table ', $prefix ,'_config n\'a pas put être crée.</span>';
exit;
}
else
echo'<span style="color:#009800">La table ', $prefix ,'_config à été crée.</span><br />';
///////////////////////////////////////////// Insertion dans les tables /////////////////////////////////////////
if(
//
/// Insertion dans la table config
//
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('titlesite', $nom)") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('kelinksite', '$adresse')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('keyworks', '$cles')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('desc', '$description')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('mailwebmaster', '$email')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('activecomment', '1')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('activeflag', '1')") ||
!mysql_query("INSERT INTO ". $prefix ."_config VALUES('activewebsite', '1')") ||
//
/// Insertion dans la table blog
//
!mysql_query("INSERT INTO ". $prefix ."_blog VALUES('id', '1')") ||
!mysql_query("INSERT INTO ". $prefix ."_blog VALUES('titre', 'Bienvenue')") ||
!mysql_query("INSERT INTO ". $prefix ."_blog VALUES('texte', 'Bonjour,<br>Si vous voyez se message c\'est que le script à été correctement installé.<br><br>Dès maintenant vous pouvez éditer ce message et en ajouter d'autre en accédant à votre espace d\'administration en [url=admin/]cliquant ici[/url].<br><br>Pour toute autre information consultez le manuel qui se trouve dans l\'interface d\'administration, celui-ci vous guidera et vous expliquera comment faire fonctionner le script.<br><br>Vous pouvez aussi ajouter d'autre administrateur si vous le dédirez par l\'interface d\'administration.')") ||
!mysql_query("INSERT INTO ". $prefix ."_blog VALUES('date', '".$date."')") ||
!mysql_query("INSERT INTO ". $prefix ."_blog VALUES('heure', '".$heure."')"))
{
echo'<span style="color:#d00000">La configuration du script ne s\'est pas éffectuée correctement.</span><br />';
exit;
}
else
echo'<span style="color:#009800">La configuration du script s\'est éffectuée correctement.</span>';
///////////////////////////////////////////// Création des données du config.php /////////////////////////////////////////
if(mysql_select_db($base, mysql_connect($serveur, $utilisateur, $passe)))
echo'<br /><br />Modifiez le fichier <b>config.php</b> avec un diteur de texte (genre bloc note) qui est dans le dossier <b>inc</b> avant de continuer l\'installation en y ajoutant le code ci-dessous (n\'oubliez pas de le retransfréer 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 {
?>
</td>
</tr>
</table>
<table border="0" align="center" width="100%">
<tr>
<td>
<form action="" method="post">
<fieldset>
<dl>
<dt><label>Serveur de la base de donnes (MySql):</label></dt>
<dd><input type="text" name="serveur" id="serveur" value="localhost" size="40" /></dd>
</dl>
<dl>
<dt><label>Nom d'utilisateur de la base de donnes (MySql):</label></dt>
<dd><input type="text" name="utilisateur" id="utilisateur" size="40" /></dd>
</dl>
<dl>
<dt><label>Mot de passe de la base de donnes (MySql):</label></dt>
<dd><input type="text" name="passe" id="passe" size="40" /></dd>
</dl>
<dl>
<dt><label>Nom de la base de donnes (MySql):</label></dt>
<dd><input type="text" name="base" id="base" size="40" /></dd>
</dl>
<dl>
<dt><label>Préfix des tables de la base (MySql):</label></dt>
<dd><input type="text" name="prefix" id="prefix" value="sg_" size="40" /></dd>
</dl>
</fieldset>
<fieldset>
<dl>
<dt><label>Nom du site:</label></dt>
<dd><input type="text" name="nom" id="nom" size="40" /></dd>
</dl>
<dl>
<dt><label>Votre adresse e-mail:</label></dt>
<dd><input type="text" name="email" id="email" size="40" /></dd>
</dl>
<dl>
<dt><label>L'adresse de votre site (doit se terminer par "/"):</label></dt>
<dd><input type="text" name="adresse" id="adresse" value="http://" size="40" /></dd>
</dl>
<dl>
<dt><label>Description du site:</label></dt>
<dd><input type="text" name="description" id="description" size="40" /></dd>
</dl>
<dl>
<dt><label>Mots clés du site:</label></dt>
<dd><input type="text" name="cles" id="cles" size="40" /></dd>
</dl>
</fieldset>
<fieldset class="submit-buttons">
<legend>Valider</legend>
<input class="button1" type="submit" name="envoi" value="Valider" />
<input class="button2" type="reset" id="reset" name="reset" value="Effacer" />
<input type="hidden" name="id" value="1" />
</fieldset>
</form>
</td>
</tr>
</table>
<?php
}
?>
</div>
</body>
</html>
Il plante dès la création de la première table.Sa me dit "La table test__blog n'a pas put être crée."
Et je vois pas d'ou se problème pourrait venir.
J'espère que quelqu'un pourra m'aider.
Merci d'avance.