CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème

littledark
littledark
Niveau 10
18 juin 2004 à 20:41:24

Mon site PHP, afin de gérer un minimum de page PHP, fonctionne de la manière suivante: les liens vers la page jeuxvideo par exemple sera le suivant:

rubriques.php?article=jeux_videos

Et grâce au code suivant:

< ?
$article = $_GET[´article´];
$article2= " articles/$article.php";

if ( file_exists($article2))
{
include ( "$article2");
}
else
{
echo " <BR>";
echo " Désolé, mais le fichier < I>$article</I> n´ existe pas";
}
? >

J´ inclue la page voulue. Mais dans mon site

http://puissance2jeux.free.fr/Site/

quand on change de design j´ utilise la fonction

< A HREF="<? echo getenv(´HTTP_REFERER´) ; ? >">Page précédente < /A>

pour retourner a la page précédente. Seulement le changement de design n´ est pas instantané. il faut cliquer sur le lien pour revenir a l´ ancienne page.

J´ avais donc pensé à ceci

< ? $precedentepage= getenv(´HTTP_REFERER´);
echo $precedentepage; ? >

Ce qui affiche le nom de la précédente page visitée

Exemple: http://puissance2jeux.free.fr/Site/rubriques.php?article=ecole

Mais je ne peux pas mettre par la suite

include ( ´$precedentepage´); car la page
http://puissance2jeux.free.fr/Site/rubriques.php?article= ne correspond a rien. Comment faire pour recuperer la variable de la rubrique recuperée grace a getenv(´HTTP_REFERER´); pour ensuite inclure la page précédente, genre:

< ? $precedentepage= getenv(´HTTP_REFERER´);
$precedentepage2= $_precedentepage[´article´];
$precentepage3 = / article/$precedentepage2.php
include ( ´$precedentepage3´);
? >

vous avez saisi mon bleme??? Merci davance

littledark
littledark
Niveau 10
19 juin 2004 à 16:00:39

:up:

nico2003
nico2003
Niveau 8
19 juin 2004 à 16:54:29

dsl, j´ai pas le niveau
:lol:

littledark
littledark
Niveau 10
21 juin 2004 à 12:05:24

:up:

MathieuN7
MathieuN7
Niveau 10
21 juin 2004 à 12:58:28

Je saisis pas bien ton problème...
Il se situe au niveau du changement de design ou au niveau de l´inclusion d´une page?

littledark
littledark
Niveau 10
23 juin 2004 à 19:03:23

je voudrais qu´ une fois le design changé il inclue la page précédente pour que le changement soit immédiat. Car si tu vas sur mon site tu constateras qu´ il faut cliquer sur un lien pour que le changement de design se fasse. Ce serait mieux si c´ était instantané comme sur http://www.phpdebutant.org

Yoda_Software
Yoda_Software
Niveau 30
23 juin 2004 à 20:42:41

Pourquoi tu ne leurs demande pas à eux ?

littledark
littledark
Niveau 10
23 juin 2004 à 22:28:47

j´ ai deja demandé mais ils ont mis 3 semaines a me repondre un truc vague

littledark
littledark
Niveau 10
24 juin 2004 à 20:17:57

:up:

MathieuN7
MathieuN7
Niveau 10
24 juin 2004 à 21:01:09

Et le changement de design il se situe à quel niveau? Une feuille CSS?

littledark
littledark
Niveau 10
24 juin 2004 à 21:30:23

En fait non

J´ explique tout.

Voulant bénéficier de la fonction include() sur PHP, j´ ai créé seulement 2 pages modifiables PHP pour mon site, index.php ( INDEX) et rubriques.php ( TOUTES
LES AUTRES PAGES).

Les liens vers mes pages sont sous la forme rubriques.php?article=nom_de_l_article

Et Sur rubriques.php, le code suivant:

< ?
$article = $_GET[´article´];
$article2= " articles/$article.php";
if ( file_exists($article2))
{
include ( "$article2");
}
else
{
echo " <BR>";
echo " Désolé, mais le fichier < I>$article</I> n´ existe pas";
}
? >

Me permet d´ inclure le fichier voulu ou de´ afficher le fichier NOM DU FICHIER n´ existe pas. Tout cela grâce à la fonction $article = $_GET[´article´];

Quel est le rapport avec mon design? J´ en viens

Mon design interchangeable marche grâce à un cookie et à une feuille nommée design.php

Quand on veut changer de design, on clique sur un lien send.php?couleurr=couleur_du_design

Sur cette page, send.php se situe le code suivant:

< ?php
$couleurcookie = $_GET[´couleurr´];
$expire=365*24*3600; / / 1 an

setcookie("DESIGNCOOKIE","$couleurcookie",time()+$
expire); / /enregistrement du cookie au nom de DESIGN repris dans design.php3
? >

et sur la page DESIGN.php

< ?
switch ( $DESIGNCOOKIE)
{
case " standart":
$bord_tableau_haut = ´#000000´;
$tableaux_externes = ´#CEE9FF´;
$background = ´images/blue_background.jpg´;
$fleche_liens = ´images/fleche_standart.gif´;
$fond_menus_cellules = ´images/BGC_bleu.jpg´;
$fond_cellules_centrales = ´images/fondcc_standart.jpg´;
$coinhg = ´images/coinhgstandart.gif´;
$coinhd = ´images/coinhdstandart.gif´;
$coinbd = ´images/coinbdstandart.gif´;
$coinbg = ´images/coinbgstandart.gif´;
$fleche = ´images/fleche.gif´;
$banniere= ´images/banniere_normale.jpg´;
$banniere2= ´images/banniere2.gif´;
$fond_colonne_centrale= ´#FFFFFF´;
$style= ´styles/style_standart.css´;
break;
case " bleu":
$bord_tableau_haut = ´#000099´;
$tableaux_externes = ´#CEE9FF´;
$background = ´images/blue_background.jpg´;
$fleche_liens = ´images/fleche_bleu.gif´;
$fond_menus_cellules = ´images/BGC_bleu.jpg´;
$fond_cellules_centrales = ´images/fondcc_bleu.jpg´;
$coinhg = ´images/coinhgbleu.gif´;
$coinhd = ´images/coinhdbleu.gif´;
$coinbd = ´images/coinbdbleu.gif´;
$coinbg = ´images/coinbgbleu.gif´;
$fleche = ´images/fleche.gif´;
$banniere= ´images/banniere_normale.jpg´;
$banniere2= ´images/banniere2.gif´;
$fond_colonne_centrale= ´#FFFFFF´;
$style= ´styles/style_bleu.css´;
break;
case " rouge"
. ..
case " vert"
. ..
case " gris"
. ..
case " mauve"
. ..
default:
. ..
? >

et dans mes pages au lieu de marquer background=... je mets < ? echo $background; ? > Ou $background sera remplacé par la valeur de la page DESIGN.PHP

Quel est le rapport? J´ y viens

Sur la page SEND.PHP voici un code résumé

< ?php
$couleurcookie = $_GET[´couleurr´];
$expire=365*24*3600; / / 1 an

setcookie("DESIGNCOOKIE","$couleurcookie",time()+$
expire); / /enregistrement du cookie au nom de DESIGN repris dans design.php3
? >
design < B><? echo " $couleurcookie"; ? ></B> sélectionné
< BR>
< BR>
< A HREF="<? echo getenv(´HTTP_REFERER´); ? >">Page précédente < /A>

la fonction echo getenv(´HTTP_REFERER´); me donne la valeur de la précédente page visitée, la page ou on était avant de changer de design ( ex
http://puissance2jeux.free.fr/Site/rubriques.php?article=ecole

Le problème, c´ est que le changement de design n´ est pas instantané, car le valeur du cookie DESIGNCOOKIE est modifié sur la page en question. Il faut donc
cliquer sur le lien page précédente pour que le changement de design s´ effectue. Je pensais donc pour remédier le problème faire ce genre de code:

< ? $y = " getenv(´HTTP_REFERER´)";
include ( ´$y´); ? >

mais je ne peux pas inclure la page car $y sous la forme rubriques.php?article=ecole ne correspond a rien. Et je ne peux pas utiliser le code $article =
$_GET[´article´]; car il n´ y a pas de variable dans la barre d´ URL. Donc comment faire quand tu as la variable $y =
http://puissance2jeux.free.fr/Site/rubriques.php?article=ecole pour recuperer juste le terme ecole pour ensuite inclure la page ecole.php???

Selon vous, si je mets < ? include ( ´cookie.php´) ; ? > au début de send.php ou dans cookie.php est situé le code suivant < ?php
$couleurcookie = $_GET[´couleurr´];
$expire=365*24*3600; / / 1 an

setcookie("DESIGNCOOKIE","$couleurcookie",time()+$
expire); / /enregistrement du cookie au nom de DESIGN repris dans design.php3
? > vous croyez que cookie.php sera interprété avant le reste de la page et donc que le changement de design sera immédiat? Merci d´ avance :)

Vous avez compris mon problème?

littledark
littledark
Niveau 10
24 juin 2004 à 21:30:46

vous m´ avez suivis?

littledark
littledark
Niveau 10
24 juin 2004 à 21:32:33

MathieuN7

pour répondre a ta question dans mes feuilles CSS ya juste la definition due la couleur des liens et des zones de style dans mes textes ( titres, article, sous-titres...) ce serait plus simple que j´ utilises davantage le CSS?

MathieuN7
MathieuN7
Niveau 10
24 juin 2004 à 22:01:55

Alors oui tout à fait je trouve que tu te compliques la vie à définir une 50aine de variables par design, sachant que tu as 5/6 designs en début de page... Ca ralentit beaucoup le ´parsing´ et C un peu casse pied :)

Pour ta méthode, fait simplement une page define_cookie.php qui n´affichera rien, mais qui, après avoir changé le cookie, chargera la page précédente...

Si tu evux plus d´infos pour tes feuilles CSS va sur
http://openweb.eu.org/

Voilà :) si tu désires une rééxplication, n´hésite pas!

littledark
littledark
Niveau 10
24 juin 2004 à 23:31:01

j´ ai suivi les conseils de PHPDEBUTANT.ORG

et tu mets quel code dans ta page define_cookie? Merci d´ avance

MathieuN7
MathieuN7
Niveau 10
24 juin 2004 à 23:39:19

Bah tu mets le code qui change le design dans le cookie, puis tu rediriges vers la page voulue...
Tu peux utiliser le HTML ou le PHP

electron_libre
electron_libre
Niveau 10
24 juin 2004 à 23:45:51

bon g pas tout lu, mais comme des le debut du script g vu ca :
$article2= " articles/$article.php";

ca ca m´etonnerai que ca marche

et que visiblement personne n´a fait la remarque, je me dit que tout le monde est passé à coté . ..
$article2= " articles/".$article.".php";

ca ca marche

MathieuN7
MathieuN7
Niveau 10
25 juin 2004 à 01:40:04

Non electron_libre :)
PErsonne n´est passé à côté vu qu´il n´y a pas d´erreur :)
Ca fonctionne comme la fonction echo, c´est à dire:
Si tu fais $article = " article/$article.php" ça fonctionne ( en principe je viens de voir article.php, ça pourrait être une variable? je ne suis même pas sûr )
Normal, avec des doubles quotes, tu n´as pas besoin de concaténer, le serveur cherche les variables tout seul.

Ta " correction " serait juste si tu remplaçais les doubles quotes par des simple quotes, donc:
$article = ´articles/´.$article.´.php´;
Et là, comme ce sont des simple quotes, le serveur ne va pas chercher de variables dedans, et donc tu DOIS concaténer!
Voilà, j´ai été assez clair?

littledark
littledark
Niveau 10
25 juin 2004 à 11:12:36

electron_libre le code marche mais ton code a l´ air plus " propre"

tu ve dire quoi par concaténer! matieun7?

et pr mon pb vous en pensez quoi? merci d´ avance

MathieuN7
MathieuN7
Niveau 10
25 juin 2004 à 11:30:48

son code a l´air plus propre? je sais même pas si ça fonctionne!
Concaténer, ça veut dire alterner des mots et des variables, par exemple ton truc avec des simple quotes ça donne ça:
$article = ´articles/´.$article.´.php´;
le fait de remettre un simple quote puis un point indique qu´il va y avoir une variable, ensuite tu remets un point puis un simple quote pour dire que tu vas remettre du texte...
Exemple:
$variable = ´texte´.variable.´texte´.variable;
Si ça finit par une variable, tu mets juste un point virgule, pas la peine de mettre . ´ car tu ne mets plus de texte après

En fait ( j´ai l´impression de me répéter )
Tu peux faire:

  • variable = " texte variable texte";

ou

  • variable = ´texte´.variable.´texte´;

Pour en savoir plus, reporte toi à ce cours sur http://www.phpdebutant.org:

http://phpdebutant.org/article55.php

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware