Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1699 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problème de variable de page

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Problème de variable de page

n°1507973
Fused
Posté le 28-01-2007 à 16:21:36  profilanswer
 

Coucou!
 
Besoin d'un petit coup de main au developpeur du dimanche svp!
 
J'ai une barre de menu sur un site.
Je souhaite que la page correspondant au menu visité soit d'un style différent.
J'ai utilisé la solution php, plus simple que javascript (je sais pas la peine de faire un accès serveur pour ça mais bon!)
Celà ne fonctionne pas :(
 
Extrait de index.php contenant le menu :

Code :
  1. [...]
  2. <? $titrePage = "Index"; ?>
  3. <ul>
  4. [...]
  5. <li <? if ($titrePage=="Liens" ) echo 'id="active"'; ?>><a title="Les liens" href="index.php?page=liens">Liens</a></li>
  6. </ul>
  7. [...]


 
En haut de ma page liens :

Code :
  1. <? $titrePage = "Liens"; ?>
  2. [...]


 
Or celà ne fonctionne pas.
Si je fais un echo de $titrePage celà m'affiche Index même si je suis dans la page lien, pourtant la variable devrait avoir changé après le clic selon moi.
J'ai testé le style à part, il fonctionne bien.
 
Quelqu'un à une idée de ma boulette?
 
Merci!

Message cité 1 fois
Message édité par Fused le 28-01-2007 à 16:37:21
mood
Publicité
Posté le 28-01-2007 à 16:21:36  profilanswer
 

n°1507979
dobu
Posté le 28-01-2007 à 16:47:52  profilanswer
 

Fused a écrit :

Coucou!
 
Besoin d'un petit coup de main au developpeur du dimanche svp!
 
J'ai une barre de menu sur un site.
Je souhaite que la page correspondant au menu visité soit d'un style différent.
J'ai utilisé la solution php, plus simple que javascript (je sais pas la peine de faire un accès serveur pour ça mais bon!)
Celà ne fonctionne pas :(
 
Extrait de index.php contenant le menu :
 
[...]
<? $titrePage = "Index"; ?>
<ul>
 [...]
 <li <? if ($titrePage=="Liens" ) echo 'id="active"'; ?>><a title="Les liens" href="index.php?page=liens">Liens</a></li>    
</ul>
[...]
 
 
En haut de ma page liens :
 
<? $titrePage = "Liens"; ?>
[...]
 
 
Or celà ne fonctionne pas.
Si je fais un echo de $titrePage celà m'affiche Index même si je suis dans la page lien, pourtant la variable devrait avoir changé après le clic selon moi.
J'ai testé le style à part, il fonctionne bien.
 
Quelqu'un à une idée de ma boulette?
 
Merci!


 
Alors si j'ai bien compris si tu est sur la page 'Liens' dans ton menu le lien vers 'Liens' s'affiche d'une autre couleur par exemple.
 
Si c'est ça je te conseil de faire comme suit =>
 

Citation :


<ul>  
<li>
<?php
if($_GET[page] == 'liens' )
{
echo 'Liens';
}
else
{
echo '<a title=\'Les liens\' href=\'index.php?page=liens\'>Liens</a>';
}
?>
</li>    
</ul>


 
Je m'explique, quand tu clique sur un lien apparament tu utilise des includes en fonction de la page dans l'URL 'index.php?page=liens', donc la je le réutilise pour la condition inutile de crée un variable "$titrePage" qui est dejà dans "index.php" et qui peut porter à conflit.
 
Ensuite si tu est sur la page lien tu peux pas cliquer dans le menu 'Liens' oui car tu es deçu :), sinon tu peux cliquer dessus. Sur cette partie c'est quelque chose comme ça que tu voulais avoir enfin c'est ce que j'ai compris.
 
Alors si tu as remarqué j'ai mis '<?php' la diffèrence avec '<?' aucune malgré que sur certains Serveur l'absence de 'php' peut empêcher le chargement de la page donc par securité je mets toujours '<?php'. J'ai mis aussi des ' guillemets simple au lieu d'un double " guillemets, ca optimise le chargement des pages et ca prends moins de ressource au serveur c'est pas obligatoire mais bon c'est sympas quand même.
 
En esperant d'avoir répondu à ta question correctement.
 
 
Cordialement,
Dobu


Message édité par dobu le 28-01-2007 à 16:48:57
n°1507986
Fused
Posté le 28-01-2007 à 17:26:41  profilanswer
 

Voilà une explication très claire et qui fonctionne très bien!
Merci beaucoup pour les explications annexes <?php et pour les guillemets, c'est très bon à savoir!
 
Juste 3 choses, tu avais oublié de mettre page entre '' dans if($_GET['page'] ;)
Sinon, celà ne fonctionne avant que j'ai cliqué sur au moins un lien car page n'existe pas quand on ouvre index.
 
J'ai donc rajouté if(isset $_GET[page] and $_GET[page] == 'liens')
Je pense que c'est une bonne solution.
 
Derniere chose, j'ai des liens du style href="index.php?page=page_diverse&id=3", donc du coup ça ne marche plus a causé du &id=3... une solution contre ça?
 
Merci d'avance si doBu ou quelqu'un peut me répondre!


Message édité par Fused le 28-01-2007 à 17:47:52
n°1507995
chani_t
From Dune
Posté le 28-01-2007 à 17:58:21  profilanswer
 

hein...
tu peux trés bien avoir plusieurs variables en arguments... donc ça devrais marcher...
 
par contre tu as vus que tu n'as pas mis les ' dans $_GET[page] ... ?
donc pour que ça fonctionne :
 
$_GET['page']... et $_GET['id'].

n°1507997
Fused
Posté le 28-01-2007 à 18:05:59  profilanswer
 

les guillemets étaient mis, erreur de frappe ici mais j'avais fais
$_GET['page'] == 'page_diverse&id=2'
au lieu de
$_GET['page'] == 'page_diverse' and $_GET['id'] == '3'
Merci du coup de main! :)

n°1507998
dobu
Posté le 28-01-2007 à 18:13:06  profilanswer
 

chani_t a écrit :

hein...
tu peux trés bien avoir plusieurs variables en arguments... donc ça devrais marcher...
 
par contre tu as vus que tu n'as pas mis les ' dans $_GET[page] ... ?
donc pour que ça fonctionne :
 
$_GET['page']... et $_GET['id'].


 
chani_t à raison.
 
Utilise $_GET['id'] tu mets ">= 0"
 
Un truc du genre :
 

Citation :


<?php  
if($_GET['page'] == 'liens' && $_GET['id'] >= 0)  
{  
echo 'Liens';  
}  
?>  


 
Après adapte selon ton cas avec "isset"etc... Sinon la ca marchera à coup sur mais le code est moins bien je trouve :
 

Citation :


<?php  
if($_GET['page'] == 'liens')  
{  
           if($_GET['id'] >= 0)
           {
           echo 'Liens';  
           }
}  
?>  


 
J'explique, ton id est une donnée numérique et je ne pense pas que tu a fait quelque chose alphanumérique (lettre + chiffre), donc l'id au pire de la page ou du document sera "0" ou + c'est pourquoi j'ai mis ">= 0" supérieur ou égale à 0. De plus si tu rajoutes des pages avec des id diffèrents tu n'auras pas à retoucher à ton code car le numéro id sera forcément supérieur ou égale à 0. Tu auras remarquer que j'ai pas mis de guillement autour du zéro disons que ca marche sans et ceux pour tous les chiffres.
 
Dis moi si c'est bien ça.


Message édité par dobu le 28-01-2007 à 18:15:24
n°1508000
Fused
Posté le 28-01-2007 à 18:17:38  profilanswer
 

Tout est niquel!
Vous pensez quoi du résultat? niveau ergonomie? on comprends bien que l'on visite le lien en question?
http://speleoclubmtp.free.fr/ (site que je réalise en projet pour l'IUT)

n°1508050
asirem
Posté le 28-01-2007 à 21:49:23  profilanswer
 

Oh quand je pense que tu m'a conseillé de changer de designer !Oh quand je pense que tu m'a conseillé de changer de designer ! :pfff:

n°1508075
Fused
Posté le 29-01-2007 à 00:09:50  profilanswer
 

Euh... relis ton sujet ce n'est pas moi qui ai dit ça!
Bon après c'est pas un site pour gagner des sous, c'est juste pour satisfaire des profs, mais si tu as des remarques contructives fais moi partager.

n°1508387
dobu
Posté le 29-01-2007 à 19:46:02  profilanswer
 

Fused a écrit :

Tout est niquel!
Vous pensez quoi du résultat? niveau ergonomie? on comprends bien que l'on visite le lien en question?
http://speleoclubmtp.free.fr/ (site que je réalise en projet pour l'IUT)


 
La on va partir sur du hors-sujet, je le trouve sympa juste 2 trucs, le lien pour retrouver son mot de passe arrive sur une page introuvable.
Donc à arranger et essaye de faire une page personnalisé pour les erreur 404 quelque chose de jolie serait un plus.
 
Et le 2° je sais pas si c'est normal mais il manque la moitié des photos des membres, moi je te conseil de faire une image par defaut afin que ca soit plus agréable ca fera un truc comme àa en PHP :
 

Citation :


<?php
TA CONNECTION SQL POUR ALLER CHERCHER LES PHOTOS
 
if($photo == null)
{
echo '<img src=\'le_lien_de_l_image_par_defaut.jpg\' alt=\'En cas de non affichage de l'image par defaut on affiche un texte ici\'></img>';
}
else
{
echo '<img src=\''.$photo.'.jpg\' alt=\'Image du membre qui s'appel '.$tu_peux_meme_mettre_une_variable.'\'></img>';
}
?>


 
$photo -> lien de l'image du membre
Bien entendue j'ai pris photo mais je sais pas comment est a source  :) , et pareil dans la valeur de la variable j'ai pas inclut son extension car je sais pas si dans tes valeurs dans la BDD (Base De Donnée) tu as l'extension .jpg ou .gif ou autres...
 
Voilà.

mood
Publicité
Posté le 29-01-2007 à 19:46:02  profilanswer
 

n°1508468
Fused
Posté le 30-01-2007 à 02:14:54  profilanswer
 

Merci pour les conseils, le lien pour retrouver son mot de passe est en cours, mais comme j'ai crypté en md5, impossible de lui redonner, je pense lui en balancer un par défaut qu'il peut changer après en vérifiant si c'est bien lui, mais comme dans la BDD seuls les champs obligatoires sont nom et prénom on sait pas si c'est vraiment lui!
(pas d'adresse mails obligatoire malheureusement, tous n'en n'ont pas!)
 
Sinon pour la photo c'est vrai je vais faire un p'tit dessin par défaut si il y en a pas sinon ça fait moche!
 
Merci pour le tuyau!
 
Ciao!

n°1508482
chani_t
From Dune
Posté le 30-01-2007 à 08:25:51  profilanswer
 

Fused a écrit :

Merci pour les conseils, le lien pour retrouver son mot de passe est en cours, mais comme j'ai crypté en md5, impossible de lui redonner, je pense lui en balancer un par défaut ...


 
 :non: balance lui, un mot de passe aléatoire sur 12 caractère par exemple.. car un par défaut permettrais à nimporte qui de pouvoir accéder à tous les compte utilisateur sans se casser la tête.

n°1508708
dobu
Posté le 30-01-2007 à 16:42:54  profilanswer
 

chani_t a écrit :

:non: balance lui, un mot de passe aléatoire sur 12 caractère par exemple.. car un par défaut permettrais à nimporte qui de pouvoir accéder à tous les compte utilisateur sans se casser la tête.


 
Chani_t a raison c'est beaucoup plus sécuritaire, et ca permet de vérifier l'adresse E-Mail de tes membres (plus facile à bannir au cas ou).

n°1508742
omega2
Posté le 30-01-2007 à 17:07:44  profilanswer
 

Si j'ai bien tout compris, il n'a pas de systéme de "question secréte" ni d'adresse email obliguatoire.
Du coup il ne peut pas envoyer de nouveau mot de passe par mail et il ne peut pas non plus s'assurer que la personne qui demande le changement est bien celle qu'elle dit être.
 
A partir de là, qu'on fournisse un mot de passe qui sera toujours le même ou un mot de passe à 256 caractéres ne changera pas grand chose vu qu'on ne sait pas à qui on donne le dit mot de passe.

n°1508915
Fused
Posté le 31-01-2007 à 01:42:45  profilanswer
 

Oui, c'est dans le cahier des charges du site, tous les membres n'ont pas d'adresse mail, c'est pour celà qu'ils se connectent avec leur nom et leur prénom (aucun n'a les mêmes ils ne sont qu'une 50aine) mais j'ai du faire avec, j'espère pour eux qu'a l'avenir ça n'arrivera pas!
 
Sinon pour la récupération du mot de passe, je pense que je vais faire un contact avec l'admin qui lui à l'accès dessus, et il pourra changer si il a confiance (il connait les membres).
 
Le membres sont de toutes façons ajoutés par l'admin (ceux qui ce sont inscrits au clubs et payé leur cotisation), car des données sont secrètes comme les topographies de grottes en cours de découvertes... etc.
 
Merci pour vos conseils, le site est quasi fini, je le présente et le livre dans une semaine.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problème de variable de page

 

Sujets relatifs
[PHP] Recherche d'un module pour création de tableau du style Excelnouveaux site, beaucoup de probleme... un peu d'aide serai la bienvenu
[PHP] Classe MYSQL impossible d'accéder aux attributs de la classeprobleme php
passage de paramètres à une page jsp via une portletAdministration site: CSS/PHP/Mysql,etc...
Problème pour Remonter d'un dossierenvoyer formulaire POST d'une popup a la page opener
Transposer du Perl en PHPProblème de bloc.
Plus de sujets relatifs à : [PHP] Problème de variable de page


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR