help sur une fonction de "deployé/contracté"

  • Auteur de la discussion Auteur de la discussion Zecat
  • Date de début Date de début
WRInaute accro
C'est fou ce que je poste dans le forum "developpement d'un site web" depuis que je me suis mis au codage :mrgreen:

Me revoila avec un p'tit bleme tout con mais qui me pourrit bien ...

J'ai pompé le srcipt d'une focntion permettant de deployer / contracter une zone définit par div id="xxx" et donc dans mon head sur chaque page j'ai :

Code:
<script>

var hide = false;
function showmembres()
{

	if (hide)
		{
			document.getElementById("zonemembres").style.display='block';
			hide = false;
			<?
			$_SESSION['membre_etat_zone']="1";
			?>
		}
		else
		{
			document.getElementById("zonemembres").style.display='none';
			hide = true;
			<?
			$_SESSION['membre_etat_zone']="0";
			?>
		}	
}

</script>

Ensuite j'ai une image cliquable qui alternativement fait passer le bloc concerné a deployé / contracté. Ca marche impec (voir zone membre sur mon www). Sauf que si je contracte puis que je change de page, ca repasse en deployé puisque ca execute a chaque fois "var hide = false".

J'avoue que j'y connais encore rien dans ces fonctions et donc je seche. Comment faire pour que quand je change de page, ca conserve l'état contracté / deployé.

Precision ; toutes les pages ont un session start et donc si il faut stocker un truc dans une $-session, c'ets pas un bleme. D'ailleurs j'ai bien essaye d'en coller une comme vous voyez dans le script mais elle semble ne jamais etre changée ...
 
WRInaute accro
dmathieu a dit:
Tu ne peut pas mettre du PHP en plein milieu de ton javascript.
L'un est interprété par le serveur (donc avant l'envoi de la page au visiteur) et l'autre est interprété par le navigateur du visiteur.

Il faut que tu crée le cookie de session directement en javascript.
http://www.quirksmode.org/js/cookies.html
Arf j'avais fait l'impasse sur les cookies dans mon plan de digestion ... va falloir y passer (et la j'aurais fait le tour complet du php) :wink: Thanks
 
WRInaute accro
Oui sauf que le fait que tu ne peut pas faire interargir du PHP avec du Javascript, ça n'a aucun rapport avec les cookies.
Dans ton cas, c'est ce qui bloque parce que tu tente de mettre du PHP au milieu de ton javascript.
Dans la pratique, cookies ou pas, tu ne pourra jamais faire cela.
 
WRInaute accro
oui oui j'avais bien compris.Dès que j'ai un moment je vais aller voir ton lien ... pour me lancer dans le javascript
 
WRInaute accro
Je sais pas trop en quoi je code :mrgreen: J'ai apris de façon empirique en regardant des bouts de code par ci par la et y avait toujours <? ...

Depuis j'ai lu qu'il était recommandé de mettre <?php ... je ne sais pas trop quelle différence ca fait (tu peux m'expliquer svp).

Je vais surement le faire à l'avenir (quoique c'est chiant 3 lettre de plus :wink: ) mais pour tout mon code existant, j'ai plus urgent à faire que de le reprendre ...
 
WRInaute accro
Zecat a dit:
Depuis j'ai lu qu'il était recommandé de mettre <?php ... je ne sais pas trop quelle différence ca fait (tu peux m'expliquer svp).
si tu ne mets pas php après le <? php5 va refuser d'exécuter ton code php et tu auras donc la page renvoyée au navigateur qui apparaitra avec le php non traité. Alors si dans ton code tu as tes accès BDD en clair :roll:
 
WRInaute accro
en tout cas chez ovh, j'avais du revoir des scripts tiers de ce fait. Et quand on ne sait pas, au début, d'où ça vient :cry:
 
WRInaute accro
Bon sinon pour en revenir a mon probleme de base, flemmard comme je suis, j'ai choisi l'option "moins t'en fous, mieux tu te portes" :mrgreen:

En clair : j'initialise la div "contractée" par défaut (le gars la déploie si il a besoin d'accéder à son contenu et de toute façon a chaque changement de page elle est contractée). Appelez moi "matou flemmard" désormais :mrgreen:
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut