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

psgkiki Messages postés 42 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 17 août 2010 - 19 avril 2008 à 12:10
cs_oumTaha Messages postés 1 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 5 février 2009 - 5 févr. 2009 à 11:45
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

4 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
19 avril 2008 à 13:12
Salut,

Si tu changes la page par défaut, tu vas TOUJOURS rediriger vers install.php, même quand ce ne sera pas utile.
Ce que tu dois faire, c'est tester s'il y a lieu d'installer ou pas.
Tu fais ça dans le tout début du fichier index.php, ou, si tu as un fichier commun que tu inclus dans chaque script (pour la connexion à la base de données, déclarer les variables communes à tout le site, ce genre de chose), au tout début de ce fichier là. Enfin... Dès que c'est possible, quoi.

Si tu dois vérifier dans la base de données pour savoir si l'installation a été faite ou non, il te faut d'abord charger tout ce dont tu as besoin pour te connecter à ton serveur de bdd. Tu fais ta requête qui te permets de savoir si oui ou non c'est déjà installé.

Grosso modo, ça donne un truc dans ce genre :

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

Ca redirigera vers install.php s'il le faut, ça restera sur index.php sinon.

De même, sur install.php tu devrais faire la même chose, mais dans l'autre sens :

if ($installation_faite) {
    header('Location: /index.php');
    exit;
}

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
psgkiki Messages postés 42 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 17 août 2010
19 avril 2008 à 13:18
Ok merci, j'essaie et je te tiens au courant. En fait, dans l'installation, cela va créer la base et les tables. Donc en fait, je teste juste si ma base est présente ou si des tables sont présentes, si elles y sont je charge index.php et si elles n'y sont pas je charge install.php.

C'est cela ?
0
psgkiki Messages postés 42 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 17 août 2010
19 avril 2008 à 13:40
bon voila, j'ai testé 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
0
cs_oumTaha Messages postés 1 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 5 février 2009
5 févr. 2009 à 11:45
Bonjour,

Je parlerai plutôt sécurité:
Il est dangereux de mettre les informations de connexion en clair dans ton fichier
en +, ne laisses jamais 'root' sans mot de passe

isoles tes lignes d'authentification dans un autre fichier dans un répertoire distinct que tu protèges avec un .htaccess



Bon courage!
0