8768 sujets

Développement web côté serveur, CMS

Bonsoir,

Voila, sur mon site j'ai une rubrique "Astuces" qui est organisée sous forme de liste.
Je voudrai savoir comment inclure la page (ou le texte) qui correspond à l'astuce sous l'astuce elle-même.

Je connais un code qui permet d'inclure une page à un endroit donné mais pas sous chaque élément d'une liste.

Alors je ne sais pas si je dois refaire le code pour chaque ligne ou si il existe un code qui peut être commun (ce serait mieux).

Peut-être devrai-je utiliser le CSS au lieu du PHP ?

Merci pour vos renseignements.
Modifié par E²xiT (17 Nov 2005 - 18:52)
Salut,

E²xiT a écrit :

Peut-être devrai-je utiliser le CSS au lieu du PHP ?


En effet, je pense que tu as deux solutions (ou plus...), une en PHP qui implique de recharger la page pour la consultation de chaque astuce. Une autre solution en CSS avec des comportements javascript pour afficher/masquer les calques correspondant aux différentes astuces.

En PHP, lorsque l'utilisateur clique sur le titre d'une astuce, tu envoies l'ID de l'astuce en GET. Dans la page cible, tu récupères l'ID et tu affiches seulement le contenu de l'astuce en question.

En CSS, au chargement de la page, tu affiches toutes les astuces mais mais tu dois jouer avec la propriété display pour afficher/masquer les calques au fur et à mesure de la navigation.
Modifié par SuD (09 Nov 2005 - 09:47)
Ok, je pense le faire en CSS et je ne pense pas avoir besoins du Javascritp, enfin on verra.
Je ne sais pas si je fais en a:hover ou si je fais avec onclick..

Merci pour vos réponses Smiley cligne

Juste une question pour la denière méthode PHP citée : les astuces ne s'afficheront pas sous chacune d'elles. Non ? Pourrai-je avoir plus de précisions ?

Je vous remercie beaucoup.
En php avec de l'include, ta page est généré en amont, ca veut dire que chaque page est unique, il faudra qu'en cliquant sur lien au rechargement de la page il t'affiche ce que tu veux.

Exemple :

Ton code de page les article de soluce non dévellopé :
La soluce de machin chouette est la suivante, veuillez cliquer sur ce lien pour la voir = >
<a href="page_contenant_la_soluce.php?variable=soluce1" title="soluce machin chouette">lien</a>
<?
print("$variable");
?>


Voila le code qui devrais etre inséré en haut de ta page avec les soluces non dévellopé.

A chaque soluce tu donnes une variable. Pour mon exemple la variable de cette soluce sera "soluce1" et le nom de variable "variable". Voila le code php (ou il y aurai plusieurs soluces)

<?
$soluce1 = "la solution pour réaliser ceci est cela, puis ensuite il faut faire ceci puis cela, ainsi de suite";

$soluce2="solution numéro deux qui est la suite d'un autre article...";

$soluce3 ...... etc etc
?>


Voila.

Alors explication courtes et rapide pour bien comprendre :

Dans ta page tu as toutes les possibilité de variables qui sont déja intégrée comme ce que je vien de faire plus haut :
$soluce1 = "machin";
$soluce2 = "autre";
....


Ces variable la, tant que tu ne les appelles pas, elle n'apparaitrons pas.
Donc sur chaque lien qui sont prévu pour afficher la soluce il faut appeler la variable pour lui dire tu tappelera par exemple $soluce1.

Pour appeler la variable tu met tout simplement ca apres ton lien php:
?variable=soluce1


Ainsi tu remplacera ce qui est vide contenant la variable
<?
print("$variable");
?>


deviendra (après clique sur le lien) :
<?
print("$soluce1");
?>


Ce qui te remplacera ce code par ce que tu a marqué dans $soluce1:
machin


Pour l'instant tu me suis ? cool c'est bien.

Voila tu sais comment faire pour une seul soluce à dévellopé.

Si tu veux faire plusieur soluce à dévellopé il faudra que tu change le nom de la variable a remplacer.

Car si tu a tout bien compris, quand tu appelle "variable" soluce1, bah tout les
<?
include("$variable");
?>


Seront identique.

Donc il faudras que tu fasse variable0, variable1, etc... et donc tes liens deviendrons ainsi :
<a href="page_contenant_la_soluce.php?variable0=soluce1" 

title="soluce machin chouette">lien</a>
<a href="page_contenant_la_soluce.php?variable1=soluce2" 

title="soluce machin chouette">lien</a>
<a href="page_contenant_la_soluce.php?variable2=soluce3" 

title="soluce machin chouette">lien</a>
etc....


Pour résumé voici le code de ta page à avoir :
<a href="page_contenant_la_soluce.php?variable=soluce1" 

title="soluce machin chouette">lien</a>

<?
include("$variable");
?>

<a href="page_contenant_la_soluce.php?variable0=soluce2" 

title="soluce machin chouette">lien</a>

<?
include("$variable0");
?>

<a href="page_contenant_la_soluce.php?variable1=soluce3" 

title="soluce machin chouette">lien</a>

<?
include("$variable1");
?>

<a href="page_contenant_la_soluce.php?variable2=soluce4" 

title="soluce machin chouette">lien</a>

<?
include("$variable2");
?>

<a href="page_contenant_la_soluce.php?variable3=soluce5"

 title="soluce machin chouette">lien</a>

<?
include("$variable3");
?>


Encore une petit chose et je vais dodo je pense, avec le php ce qui est embetant c'est qu'il faut à chaque fois rafraichir la page, ca veut dire recharger la page. Donc ca peut etre génant.

Pour le faire en CSS il faut impérativement utiliser le JS si je ne me trompe pas.

Pour le php ca peut paraitre compliqué comme simple, mais c'est une question d'habitude à avoir, une fois que t'y touche, tu lache plus Smiley lol

Tu peux allez voir mon site si tu veux (logo WWW en bas), j'ais fais un mailer php avec suivi de variable pour que quand on veut rentrer en contact avec un membre on doit le faire par formulaire et donc on ne vois pas l'adresse mail (no spam ou presque car j'ai pas fini de mettre au point le mailer). Trève de bavardage, au boulot Smiley cligne @+++
Modifié par Super_baloo8 (10 Nov 2005 - 00:54)
Petite précision, j'ai arrangé ce type de script (hier j'avais la tête dans le brouillard il été tard).

Dans ta page ou tu as le "surplus de texte a dérouler" tu met :
bla bla bla bla bla
\--> code de l'ancienne include à virer pour laisser place a par exemple
 un document texte.
<?
if ($variable == "soluce1"){
print("ton texte que tu veux");
}
?>


Apres il y toujours le lien :
page_de_la_soluce.php?variable=soluce1


Si tu veux voir un exemple de fonctionnement vas voir sur ce lien et vas cliquer sur "voir son CV". Smiley cligne

<HS> Je sais que vous allez me dire que la page une fois dévellopé avec le CV est invalide, c'est normal (enfin non Smiley sweatdrop ) car j'ai une animation flash avec le code contenant des attribut non standarts.</HS>

Voila le code source php de l'include qui se dévellope lors du clique sur le lien :
<
\-->lien de la partie a devellopé
p><a href="guiblain_sylvain.php?cv=guiblain_sylvain" title="Voir le CV de Guiblain Sylvain">Voir son cv</a></p>
\-->fin du lien de la partie a devellopé

\-->début de la fausse include
<?
if ($cv == "guiblain_sylvain"){
print("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\"700\" height=\"500\" title=\"CV de Guiblain Sylvain\">
  <param name=\"movie\" value=\"eleves/guiblain_sylvain.swf\" />
  <param name=\"quality\" value=\"high\" />
  <embed src=\"eleves/guiblain_sylvain.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"700\" height=\"500\"></embed>
</object>");
}
?>
\--> fin de la fausse include


Voila, désolé pour les long post à chaque fois Smiley biggol
Voila je me suis fait mon petit code en m'insprirant du tiens :

<?php
if(isset($_GET['t'])) //si la variable existe
{
$t = $_GET['t']; //on remplace la le contenu de la variable par celle-ci
}
else //mais si elle n'existe pas
{
$t = NULL; //on attribue la valeur NULL à la variable donc rien ne s'affiche
}
//liste des astuces
$ast1 = "<p>le contenu de l'astuce no1</p>";
$ast2...
?>
//code (x)html
<a href="mapage.php?t=ast1" title="">astuce1</a>
<?php
if($t=="ast1")
{
echo $ast1;
}
?>

Alors ? C'est pas mal hein ? Smiley lol
Si il y a des suggestions, je suis preneur Smiley cligne
Merci bien.

EDIT : Et en condensé pour le lien, ça donne :
<a href="mapage.php?t=ast1" title="">astuce1</a><?php if($t=="ast1"){ echo $ast1  } ?>

(Ca prend moins de place Smiley cligne )

Encore une question : comment puis-je faire pour afficher tous les textes cachés à partir d'un lien. J'ai essayé de mettre toutes les variables à la suite mais sans succès Smiley decu Merci.
Modifié par E²xiT (20 Nov 2005 - 16:25)
Pas mal du tout, ma méthode me suffisait largement mais je vais analyser plus en profondeur le tienne qui est interressante.

Si tu veux appeller toutes les variables c'est impossible car tu a nommer ta variable "t", si tu veux toutes les appellé il faudrais que tu fasse deux variable par texte caché comme ca tu pourrais appeller toutes tes variables.
<a href="http://www.tonsite.com?t=ast1&t1=ast2&t2=ast3 ...


;)
Si je peux me permettre...

Super_baloo8 a écrit :
<a href="http://www.tonsite.com?t=ast1[#red]&[/#]t1=ast2[#red]&[/#]t2=ast3 ...



Ca passe mieux la validation comme cela (testé hier encore Smiley sweatdrop )
Ouais masi je n'ai que ma variable t, j'ai pas de t1, t2...
Donc comment faire ?

Merci.
Il ne faut pas faire l'ajout de plein de variable, mais une variable globale, en fait sur l'exemple que je te passe, j'ai fait une fonction qui permet, lorsque la variable est = à tout, de tout afficher. Si tu veux plus de détail mail moi ou mp
Merci pour le mp Exit.

Voila la fonction que j'ai crée pour permettre l'affichage d'un "détail" sous un texte. Dans cette fonction j'ai aussi ajouté le choix que à partir d'une variable, je peux tout dévelloper. Voici la fonction, simple, mais efficace Smiley cligne

[#red]<?[/#]
[#orange]/*Si ma variable [#darkblue]$detail[/#] n'a pas de valeur, */[/#]
[#green]if[/#]([#darkblue]$detail[/#] == '') 
    { 
[#orange]/*Alors je n'ecris rien*/[/#]
    echo ''; 
    } 
[#orange]/*Par contre si [#darkblue]$detail[/#] à comme valeur "ech" ou "tout", */[/#]
[#green]elseif[/#]([#darkblue]$detail[/#] == ech || [#darkblue]$detail [/#]== tout)  
    { 
[#red]?>[/#]
[#olive]<!--Alors j'ecris ce que je veux en code html ou php suivant les besoins-->[/#]
<p>Salut !</p>
[#olive]<!--Je n'oublie surtout pas de fermer ma fonction-->
[/#][#red]<?[/#]

}

[#red]?>[/#]


Maintenant que la fonction est expliquer, il faut savoir ou la placé dans ta page.

En fait tu découpe ta page en :

- Le texte sans détail [lien du détail]
- Début de la fonction php
- Le détail du texte
- Fin de la fonction php

Voila la découpe que tu as besoin. Tu peux bien sur repeter autant de fois que tu veux l'opération, mais change a chaque fois le nom de la variable qui va servir à afficher une partie de ta page. La ici dans la fonction que je t'ais montré plus haut, la valeur ECH servais a afficher la partie detail du texte ech, et la valeur TOUT est ecrite dans chaque fonction comme ca lorsque que l'on cliquera sur un lien qui donnera la valeur TOUT à la variable $detail, alors on affichera touts les details de tout les texte en meme temps. J'espere que tu aura compris.
Ok, j'ai comprit mais je ne savais pas trop comment m'y prendre Smiley cligne

Je te remercie beaucoup.