8797 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,
Voila j'aimerai savoir si il existe dans PHP des caratères génériques.

Mon problème est que lorsqu'on change de section , le bloc gauche change aussi,
donc si une section à 10 pages , je voudrais ne pas avoir a faire un switch avec 1 condition par pages .
j'aimerai un truc du genre :


switch ($_GET["p"])
            {
//---------------------------------Partie Studio----------------------------------------------------
                case $_GET["p"]=="studio/*":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                
                default:
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
            }//fin switch;


Au lieu d'avoir :


switch ($_GET["p"])
            {
//---------------------------------Partie Studio----------------------------------------------------
                case $_GET["p"]=="studio/rlproduction":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="studio/realisations":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="studio/equipements":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                default:
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
            }//fin switch;



Nota : j'ai utilisé * mais ça ne fonctionne pas.

Quelqu'un aurait-il une idée ?
Salut, en l'état ton switch ne sert à rien puisque quelle que soit la valeur de ton $_GET['p'], il inclura la page en prenant sa valeur. En gros, tes 2 switchs peuvent être remplacés par ça:


include("includes/bloc_gauche_studio.php");
include("pages/".$_GET["p"].".php");


Aussi, je te conseille de faire des vérifications sur le format de $_GET["p"].

Exemple: stocker les valeurs autorisées (ie le nom de tes pages) dans un tableau.
Lorsque tu récupères $_GET["p"], tu vérifies que la valeur est bien présente dans le tableau. Si c'est le cas, tu autorises l'include("pages/".$_GET["p"].".php"), sinon tu inclus une page d'erreur
Zed13 a écrit :
Salut, en l'état ton switch ne sert à rien puisque quelle que soit la valeur de ton $_GET['p'], il inclura la page en prenant sa valeur. En gros, tes 2 switchs peuvent être remplacés par ça:


include("includes/bloc_gauche_studio.php");
include("pages/".$_GET["p"].".php");


Aussi, je te conseille de faire des vérifications sur le format de $_GET["p"].

Exemple: stocker les valeurs autorisées (ie le nom de tes pages) dans un tableau.
Lorsque tu récupères $_GET["p"], tu vérifies que la valeur est bien présente dans le tableau. Si c'est le cas, tu autorises l'include("pages/".$_GET["p"].".php"), sinon tu inclus une page d'erreur




Merci pour ta réponse,
mais je n'ai mis qu'un extrait de mon switch ;
car la version complète :
switch ($_GET["p"])
            {
//---------------------------------Partie Studio----------------------------------------------------
                case $_GET["p"]=="studio/rlproduction":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="studio/realisations":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="studio/equipements":
                    include("includes/bloc_gauche_studio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
//---------------------------------Partie offres----------------------------------------------------
                case $_GET["p"]=="offres/offres":
                    include("includes/bloc_gauche_offres.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="offres/plaisir":
                    include("includes/bloc_gauche_offres.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="offres/pro":
                    include("includes/bloc_gauche_offres.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="offres/jingles":
                    include("includes/bloc_gauche_offres.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="offres/chroniques":
                    include("includes/bloc_gauche_offres.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
//---------------------------------Partie options----------------------------------------------------
                case $_GET["p"]=="options/options":
                    include("includes/bloc_gauche_options.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="options/siteweb":
                    include("includes/bloc_gauche_options.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="options/reportages":
                    include("includes/bloc_gauche_options.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="options/servicecom":
                    include("includes/bloc_gauche_options.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
//---------------------------------Partie Webradio----------------------------------------------------
                case $_GET["p"]=="webradio/index":
                    include("includes/bloc_gauche_webradio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="webradio/webradio":
                    include("includes/bloc_gauche_webradio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="webradio/droits_auteurs":
                    include("includes/bloc_gauche_webradio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="webradio/identite":
                    include("includes/bloc_gauche_webradio.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
//---------------------------------Partie Stars----------------------------------------------------------
                case $_GET["p"]=="stars/interviews":
                    include("includes/bloc_gauche_stars.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="stars/starsnews":
                    include("includes/bloc_gauche_stars.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="stars/profil_stars":
                    include("includes/bloc_gauche_stars.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
 //---------------------------------Partie Profil Utilisateurs ------------------------------------------------
                case $_GET["p"]=="utilisateurs/profil":
                    include("includes/bloc_gauche_profil.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="utilisateurs/photos":
                    include("includes/bloc_gauche_profil.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="utilisateurs/prog":
                    include("includes/bloc_gauche_profil.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="utilisateurs/sons":
                    include("includes/bloc_gauche_profil.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                
//----------------------------------Partie Messagerie----------------------------------------------------------
                case $_GET["p"]=="messagerie/boite_reception":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/archives":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/archivage_message":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/corbeille":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/envoi_corbeille":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/envoyer":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/nouveau_message":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/reponse":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/restaurer_message":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="messagerie/supprimer_message":
                    include("includes/bloc_gauche_messagerie.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                
 //---------------------------------Partie Questionnaire Auto ------------------------------------------------
                case $_GET["p"]=="webradio/droits_auteurs":
                    include("includes/bloc_gauche_auto.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                case $_GET["p"]=="webradio/identite":
                    include("includes/bloc_gauche_auto.php");
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
                default:
                    include("pages/".$_GET["p"].".php");//on inclut la page demand้e
                break;
            }//fin switch;



Et je ne sais pas comment faire pour les stocker dans un tableau.
Je travaille avec Firefox.(IE le nom des pages) ^^

Help !
Re, pour simplifier les choses, au lieu de passer un string à ta variable GET, tu lui passe un entier. Il joue le rôle d'identifiant qui fait le lien entre cet entier, et tes fichiers à incorporer.

Avec la solution du tableau, ça te donne un truc comme ça:
$array=array(
array('lib1.php','bloc_gauche1'),
array('lib2.php','bloc_gauche2')
);
$num=$_GET['p'];
if(!is_numeric($num) || $num<0 || $num>=sizeof($array))
{
	//Traitement par défaut
	$num=0;
}
require_once('includes/'.$array[$num][0]);
require_once('pages/'.$array[$num][1]);


Après pour s'y retrouver (indice du tableau/correspondance des fichiers) c'est pas forcément le top, donc si tu as beaucoup de fichiers différents, tu peux stocker tout ça dans une base de données(identifiant, fichier1,fichier2), et de récupérer les bonnes infos lors de l'appel de la page.