Problème avec un script d'install automatique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un script d'install automatique

par djtec » 16 juin 2007, 00:41

J'en ai déjà mit des saut de ligne

par x@v » 15 juin 2007, 22:02

met des saut de ligne dans le code

par djtec » 15 juin 2007, 21:19

C'est ça que je comprends pas pourquoi tu arrive pas a le lire

Tu me parle d'acsenceur mais je ne sais pas ce que c'est.

Donc si tu me disant je pourrais peut-être déjà arranger se problème ca aidera certainement pour mon problème d'install

par x@v » 15 juin 2007, 20:37

sa n'a rien avoir avec ton problème, je me posais la question, mais je ne peux pas lire le script je te l'ai déjà dit.

par djtec » 15 juin 2007, 20:02

Donc en faites toute mes lignes devrait être faites ainsi
$validation = et_magic_quotes_gpc($validation); 
Et tu pense que cela arrangerait mon problème d'install

par Sékiltoyai » 15 juin 2007, 19:02

ok merci ;)
edit
curieux
$validation = (!get_magic_quotes_gpc()) ? addslashes($validation) : $validation; 
pourquoi ne fait-il pas
$validation = et_magic_quotes_gpc($validation);
?
Il faut lire les références des fonctions :
get_magic_quotes_gpc() retourne la configuration du serveur au sujet de la directive magic_quotes_gpc, et ne prend aucun argument, get_magic_quotes_gpc($validation); est donc une erreur, tant de syntaxe, que quant au rôle de la fonction.
En gros, l'objectif de ce code :
$validation = (!get_magic_quotes_gpc()) ? addslashes($validation) : $validation; 
est d'échapper la variable si elle n'a pas été automatiquement échappée par PHP.

par djtec » 15 juin 2007, 16:57

Là je ne sais pas du tout

par x@v » 15 juin 2007, 16:33

ok merci ;)
edit
curieux
$validation = (!get_magic_quotes_gpc()) ? addslashes($validation) : $validation; 
pourquoi ne fait-il pas
$validation = et_magic_quotes_gpc($validation);
?

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
}
?>

par x@v » 15 juin 2007, 15:56

tu pourrai me donner ta source, stp.

par djtec » 15 juin 2007, 15:52

Donc je dois faire comme ceci:
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 ;
"))
mysql_error()
       {
        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 />';
x@v:
C'est un script que j'ai pris sur un script trouvé sur le net et que j'ai modifié pour mes besoins et je sais pas ce que c'est ni ce que tu entends par acsenceur

par x@v » 15 juin 2007, 15:46

ton code, j'arrive pas à le lire avec l'ascenceur.

par Cyrano » 15 juin 2007, 15:44

Tu veux que je mette mysql_error() pour voir si y a bien une erreur sql
Pour quoi d'autre à ton avis ??? :-k

par djtec » 15 juin 2007, 15:43

x@v:
C'est quoi que tu arrive pas à copier.


Cyrano:
Tu veux que je mette mysql_error() pour voir si y a bien une erreur sql

par Cyrano » 15 juin 2007, 15:39

Récupère le mysql_error() avec le retour de l'exécution de ta requête.