Page 1 sur 1
Remplacer la page par défaut index.php par un autre fichier
Posté : 19 avr. 2008, 12:31
par psgkiki
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
Posté : 19 avr. 2008, 13:18
par djtec
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
Posté : 19 avr. 2008, 13:43
par psgkiki
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
Posté : 19 avr. 2008, 14:14
par djtec
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.
Posté : 19 avr. 2008, 14:31
par zeus
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
Posté : 19 avr. 2008, 17:13
par psgkiki
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 :
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
Posté : 19 avr. 2008, 17:20
par djtec
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;
Posté : 19 avr. 2008, 17:43
par psgkiki
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 :
Merci bien pour votre aide
Posté : 19 avr. 2008, 17:49
par djtec
de rien
mais n'oublie pas de mettre le tag réglé
++
Posté : 20 avr. 2008, 00:11
par Truc
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
en haut à gauche de ce sujet.