Page 1 sur 2
Un lien => Switch
Posté : 15 févr. 2008, 23:38
par DarkSulfura
Bonjour,
Je souhaîte créé un site en PHP & HTML. Mais mon problème n'est pas là. Mon site est presque terminé mais les liens sont comme ça :
http://.../resources/1/plugins/plugin_25.zip
ou
http://.../resources/index.php
Mais souhaîte avoir des liens différents, comme ceci ;
http://.../index.php?add=Resources
ou
http://.../index.php?add=Downloads
Je crois que celà s'appelle un "switch", j'ai fais plusieurs recherche, je trouvé des trucs mais beaucoups d'ereur. Donc si vous connaissez un bon code qui fonctionne pour mes pages sa serait sympas.
Merci.
Posté : 15 févr. 2008, 23:45
par Truc
C'est des
pseudos-frames dont tu parles ?!

Posté : 16 févr. 2008, 00:54
par DarkSulfura
Oui voila
Posté : 29 févr. 2008, 23:15
par DarkSulfura
Euh un ami m'as passé un bout de code que je dois intégrer dans une page mais ça marche pas :
<?php
$site = array (
'site="?site=0'
'site="?site=1'
)
exit();
if (isset($_GET["site"])) $dark = $_GET["site"];
else $site = 0;
switch ($site) {
case 1 : include("index.php"); break;
case 2 : include("downloads.php"); break;
default : include("index.php"); break;
}
<a href="?site=Downloads">Téléchargements</a>
?>
Pouvez-vous m'aider ?

Posté : 29 févr. 2008, 23:51
par Hywan
Ton bout de code n'a pas de sens.
Il y a plein de fautes et de non-sens.
Ce que je te conseille c'est de lire le lien de notre ami Truc et de te mettre à PHP

.
Il n'existe pas de code tout fait pour ce genre de chose, tu dois le construire toi-même. Il existe plusieurs solutions, avec des différences plus ou moins importantes, mais il faut mettre en avant la sécurité et la souplesse (modularité).
Vraiment, apprend le PHP et lis le lien de Truc, tu trouveras la réponse par toi même

.
Posté : 20 mars 2008, 23:33
par DarkSulfura
Bonjour,
J'ai lus le tuto sur les Pseudos Frames et j'ai réussis !

Mais le problème c'est que je sais pas comment faire ceci :
Pour un fichier à télécharger :
au lieu de ça :
fichier/fichier.zip
je souhaite:
index.php?page=downloads&pg=001
J'utilise le code de sécruté biensur

Tout mes liens en Pseudo Fram fonctionne.
index.php?page=news
index.php?page=jeux
....

Merci de votre aide
Posté : 21 mars 2008, 00:22
par Hywan
Bonsoir,
sur ta page download.php (accès via $_GET['page']) tu proposes de télécharger l'archive qui a pour ID 001 dans une base de données quelconque. Non ?
Posté : 21 mars 2008, 08:52
par DarkSulfura
Je ne sais pas, j'utilise aucune base de donnée. C'est obligatoire d'avoir une base de donnée pour ça ?
Posté : 21 mars 2008, 09:17
par Hywan
Non mais c'est conseillé.
Comme tes noms de fichier seraient des identifiants, ils n'auraient pas tellement de sens, alors autant avoir une base de données pour ajouter une description du fichier, l'auteur, la date, des commentaires si besoin, une note etc.
Posté : 21 mars 2008, 12:44
par DarkSulfura
Ok Ok, t'aurais pas un tuto ?
EDIT: Je voulai savoir si les pseudo frame (les codes) sur le tuto que m'as passé Truc sont valable pour la version php5 et 6 ?
Posté : 21 mars 2008, 16:25
par Hywan
Ok Ok, t'aurais pas un tuto ?

À vrai dire, non. Je n'y ai même jamais réfléchis. Mais si tu sais un livre d'or, tu sais faire ça. Tu récupères ton ID par URL, tu le protèges, tu fais une requête auprès de ta base de données etc. Toujours la même chose.
EDIT: Je voulai savoir si les pseudo frame (les codes) sur le tuto que m'as passé Truc sont valable pour la version php5 et 6 ?
Bien sûr que oui

. PHP 6 n'est pas prêt d'arriver, tu as encore un peu de temps devant toi.
Posté : 21 mars 2008, 23:26
par DarkSulfura
Ok ça marche je vais me lancer dans le livre d'or alors
Euh question, pour les pseudo frames, j'ai vu qu'il est obligé de mettre toute les pages dans le tableau array mais il existe pas un système ... Comment dire

... Que dans un dossier nommé par exemple "modules" et que tout les sous-dossiers soit le titre.
Exemple :
Normalement dans le tableau array je dois mettre :
$pageOK = array('news' => 'news.php',
'accueil' => 'accueil.php');
etc.... ... .
Alors est-ce possible de faire en sorte, que tout les sous-dossiers de Module soit directement dans le tableau array. Celà m'évitera de les écrirent tous...
Exemple :
/modules/news/ - /modules/news/index.php =
index.php?page=news
le paramétre des pseudos frame cherche directement toute les pages dans le dossiers modules.
Si tu ne comprend pas, je vais essayé de mieux m'expliquer.
Posté : 24 mars 2008, 22:45
par Hywan
Bonsoir et désolé pour la réponse tardive (occupé à pelleter

),
tout d'abord : oui, ce n'est pas d'une grande clarté.
Sache que tu n'es pas obligé de préciser toutes tes pages dans un tableau. Tu peux très bien récupérer les valeurs des paramètres URL, tu les protèges (basename() & co.), et tu vérifies si le fichier existe (file_exists()). Si oui, alors on l'inclue, sinon, une erreur.
Il faut bien faire attention avec cette technique car il ne faut pas inclure n'importe quoi. Il faut retrouver le nom du fichier sans parcours de dossier (../ par exemple), ni extension (.php par exemple), et pas d'URL (http:// par exemple). C'est plus compliqué à protéger mais c'est plus facile à maintenir par la suite. Il faut vraiment imaginer tous les cas, même les plus fous (virer les caractères étranges, comme \0 etc.).
Il existe beaucoup de solutions à ce problème

.
Edit : sinon tu peux enregistrer toutes tes pages dans une base de données, c'est déjà plus facile à maintenir et c'est plus sécurisé (mais plus lent)

.
Posté : 25 mars 2008, 14:03
par DarkSulfura

Woooaaaa ... Le problème c'est que je mis connais rien en 'Base de donnée'.
T'aurais pas le bout de code de ce que tu vien de m'expliquer ? Car je pige la moitier...
Posté : 25 mars 2008, 16:47
par Hywan
Va jeter un œil du côté du
SiteduZero.com, ils ont plus le temps que moi pour t'expliquer ça

. Tu peux également visiter
PHPDebutant.org.
Mais si jamais, quelle partie aimerais-tu que je t'explique ?