Remplacer la page par défaut index.php par un autre fichier .php

Eléphanteau du PHP | 24 Messages

19 avr. 2008, 12:31

Bonjour a tous,

J'aimerais savoir comment changer la page php par défaut. En effet, je suis entrain de développer une application ainsi que son interface d'installation et j'aimerais que la page install.php s'exécute avant ma page index.php.

Comment faire cela ?

Merci beaucoup de votre aide

Eléphant du PHP | 451 Messages

19 avr. 2008, 13:18

si tu utilise un fichier de config fait une variable qui vérifie si dans le fichier config $install = oui sinon il redirige automatique vers install.php

Eléphanteau du PHP | 24 Messages

19 avr. 2008, 13:43

Merci pour aide. Donc voila, j'ai testé l'exsitance de ma base de données mais au lieu de me rediriger vers mon fichier install.php cela affiche le message d'erreur comme quoi la BD n'existe pas :

Voila ce que j'ai mis dans mon fichier index.php :
<?php
$serveur = 'localhost';
$database = 'test';
$username = 'root';
$password = '';
$connexion = mysql_connect($serveur,$username,$password);
$bd = mysql_select_db($database,$connexion) or die(mysql_error());

if (!$bd){
    header('Location: ./install.php');
    exit;
    } 
?>

test index.php


et voila ce que j'ai mis dans mon install.php :

<?php
$serveur = 'localhost';
$database = 'test';
$username = 'root';
$password = '';
$connexion = mysql_connect($serveur,$username,$password) or die (mysql_error());
$bd = mysql_select_db($database,$connexion) or die(mysql_error());

if ($bd){
    header('Location: ./index.php');
    exit;
    }
?>
test install.php


Que dois-je modifier ?

Merci pour ton aide

Eléphant du PHP | 451 Messages

19 avr. 2008, 14:14

Pour moi tu devrai faire ainsi

Index.php
<?php

if ( $install == '0' )
   {
       // ici ta redirection vers l'index
   }
else
   {

       // ici le contenu de ta page index
    }
?>


Config.php
<?php
$serveur = 'localhost';
$database = 'test';
$username = 'root';
$password = '';
$connexion = mysql_connect($serveur,$username,$password) or die (mysql_error());
$bd = mysql_select_db($database,$connexion) or die(mysql_error()); 

$install = '0';
?>

Et au moment de l'install il faudra que ton script change le '0' du $install en '1'.


Moi je ferais comme ceci aprés il y a peut-être d'autre solution.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 avr. 2008, 14:31

Modération :
psgkiki, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 24 Messages

19 avr. 2008, 17:13

donc voila mes fichiers ainsi crées grâce à ton aide :

index.php :

Code : Tout sélectionner

<?php require_once 'config.php'; if ( $install == '0' ) { header('Location: ./install.php'); exit; } else { echo"test index.php" ; } ?>
install.php :

Code : Tout sélectionner

<?php echo "installation effectuée"; $install = 1; ?>

config.php :

Code : Tout sélectionner

<?php $serveur = 'localhost'; $database = 'test'; $username = 'root'; $password = ''; $connexion = mysql_connect($serveur,$username,$password); $bd = mysql_select_db($database,$connexion) or die(mysql_error()); $install = 0; ?>
Voila sauf que maintenant, la première fois il m'envoie bien sur le fichier install.php car la variable est à 0 mais par contre, si je veux relancer l'appli elle se remet sur le fichier install.php malgré que la variable soit passée à 1.

Merci pour votre aide

Eléphant du PHP | 451 Messages

19 avr. 2008, 17:20

Soit tu change:
<?php
require_once 'config.php';
if ( $install == '0' )
   {
    header('Location: ./install.php');
    exit;
   }
else
   {
   echo"test index.php" ;   
   }
?>
en :
<?php
require_once 'config.php';
if ( $install == '0' )
   {
    header('Location: ./install.php');
    exit;
   }
elseif ( $install == '1' )
   {
   echo"test index.php" ;   
   }
?>

ou alors voici un script que j'utilise moi même il marche parfaitement
<?php
if( @file_exists("install.php") )	
	{
		if( @file_exists("config.php") )
			{	
				require("config.php");
	
				if( $install == "1" )
					{
						echo "L'installation est terminé.<br>Pour des raisins de sécurité veuillez supprimer le fichier <b>install.php</b>.";
					}	
				else
					{
						echo "Il y a une erreur dans le fichier config.php.<br>Vérifiez que la donnée <b>install</b> soit bien à 1.";
					}
			}
		else
			{
				echo "Cliquez <a href=\"install.php\">ici</a> pour installer le module.";
			}
	}
else
	{
		echo "ici le contenu de ta page";
	}
?>
et quand tu crée le fichier config à l'install il faut pas que tu oublie qu'il mette cette variable dans le config
$install = 1;

Eléphanteau du PHP | 24 Messages

19 avr. 2008, 17:43

C'est bon, ça marche. Merci beaucoup. Pour ceux qui veulent la solution, voilà le contenu de mes 3 fichiers :

index.php :

Code : Tout sélectionner

<?php if( @file_exists("install.php") ) { if( @file_exists("config.php") ) { require("config.php"); if( $install == "1" ) { echo "L'installation est terminé.<br>Pour des raisins de sécurité veuillez supprimer le fichier <b>install.php</b>."; } else { include 'install.php'; } } else { echo "Cliquez <a href=\"install.php\">ici</a> pour installer le module."; } } else { echo "cette page est index.html"; } ?>
config.php :

Code : Tout sélectionner

<?php $serveur = 'localhost'; $database = 'cactis'; $username = 'root'; $password = ''; $connexion = mysql_connect($serveur,$username,$password); $bd = mysql_select_db($database,$connexion); if ($bd) { $install = 1; } else { $install = 0; } ?>
install.php :

Code : Tout sélectionner

<?php echo "installation" ?>

Merci bien pour votre aide

Eléphant du PHP | 451 Messages

19 avr. 2008, 17:49

de rien

mais n'oublie pas de mettre le tag réglé

++

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 avr. 2008, 00:11

Modération :
psgkiki, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute