ouvrir un lien dans une page...?

ouvrir un lien dans une page...? - HTML/CSS - Programmation

Marsh Posté le 07-08-2004 à 20:10:20    


je suis en train de bricoler un ptit site à partir d'un modèle de dreamweaver 2004:
 
http://www.conseilmicro.com
 
comment faire pour qu'en cliquant sur "choisir son matériel", la page choisir.htm s'ouvre à la place du texte?
 
à l'époque j'utilisais des frames, c'était plus simple, mais là...:s

Reply

Marsh Posté le 07-08-2004 à 20:10:20   

Reply

Marsh Posté le 07-08-2004 à 20:24:34    

Faut faire des include en php [:dawa]
 
T'es toujours là ? [:dawa]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 07-08-2004 à 20:29:13    

arf, je sens que ça va me dépasser...
 
les includes ça me rappele de vagues notions de c++, mais alors le php...:(
 
il n'y a pas une solution en html, genre donner les coordonnées(x;y)de l'endroit où le lien s'ouvre dans la page ou qque chose comme ça?

Reply

Marsh Posté le 07-08-2004 à 20:32:41    

A part les frames et iframes non.... La solution php consiste a avoir une page principale (menu et entete par exemple) et d'inclure dans le corps la page souhaité, qui devient donc un argument de la page principale : index.php?page=choisi par exemple. Encore faut il que ton hébergeur supporte php...


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 07-08-2004 à 20:38:19    

la fonction en php est include("fichier" ); (avec ou sans parenthèses)
 
donc la ou tu mets le corps, tu mets

<? include $page; ?>

si la variable dans l'url est page...
tu peux aussi faire une vérification au cas ou $page est vide :

if($page == "" )
  include "default.php";
else
  include $page;


documente toi aussi sur les attaques d'include, qui permettent d'executer du code php sur ton serveur...
je pense qu'en vérifiant que le fichier existe, tu peux parrer ce genre d'attaque :

if($page == "" || !is_file("./$page" ))
  include "default.php";
else
  include $page;


 
::madprog::


Message édité par madprog le 07-08-2004 à 20:39:52
Reply

Marsh Posté le 08-08-2004 à 02:27:47    

Merci pour vos réponses! :jap:
 
donc est-ce que je devrais mettre <? include $choisir.htm; ?> au milieu du code html de la partie centrale de ma page?
 
(je ne suis vraiment pas un pro du php...)
 
Peut-être que vous y verrez plus clair avec ça:
 
http://www.conseilmicro.com/emx_nav_left.css

Reply

Marsh Posté le 08-08-2004 à 02:32:45    

non, ce qui commence par un $ est un nom de variable
si c'est une chaine de caractères, tu la mets entre guillemets :
<? include "choisir.htm"; ?>
 
mais si c'est un css, c'est un peu plus compliqué encore, parce qu'un .css ne sera pas parsé par php


Message édité par madprog le 08-08-2004 à 02:34:05
Reply

Marsh Posté le 08-08-2004 à 02:52:17    

en fait je crois que je vais laisser tomber l'idée de changer juste le texte au milieu des pages, et vais remettre les menus pour chaque page.
 
je l'ai fait pour la section "choisir".
 
chaque page fera 8ko ce qui me semble pas excessif, non?

Reply

Marsh Posté le 08-08-2004 à 11:18:43    

tomdorves a écrit :

en fait je crois que je vais laisser tomber l'idée de changer juste le texte au milieu des pages, et vais remettre les menus pour chaque page.
 
je l'ai fait pour la section "choisir".
 
chaque page fera 8ko ce qui me semble pas excessif, non?


 
Non mais de toute façon même avec l'autre solution y'a un rechargement complet de la page (php s'executant sur le serveur).


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 08-08-2004 à 12:45:17    

J'ai la solution :  
 
Su j'ai bien compris :  
 
au chargement tu affiche un lien texte type <a href="">lien</a>
et toi tu veux que dessous 'lien' apparaisse un texte, ou n'importe quoi d'autre sans chargement.
 
et bien voila comment ca ce passe :  
 
<html>
<head>
    <script type="text/javascript">
   
        function contractall(){
  if (document.getElementById){
   var inc=0
   while (document.getElementById("dropmsg"+inc)){
    document.getElementById("dropmsg"+inc).style.display="none"
    inc++
   }
  }
 }
 
 function expandone(merde){
  if (document.getElementById){
   //var selectedItem=document.dropmsgform.dropmsgoption.selectedIndex
   contractall()
   document.getElementById("dropmsg"+merde).style.display="block"
  }
 }

Reply

Marsh Posté le 08-08-2004 à 12:45:17   

Reply

Marsh Posté le 08-08-2004 à 12:52:09    

J'ai la solution :  
 
Su j'ai bien compris :  
 
au chargement tu affiche un lien texte type <a href="">lien</a>
et toi tu veux que dessous 'lien' apparaisse un texte, ou n'importe quoi d'autre sans chargement.
 
et bien voila comment ca ce passe :  

Code :
  1. <html>
  2. <head>
  3.     <script type="text/javascript">
  4.         function contractall(){
  5.  if (document.getElementById){
  6.   var inc=0
  7.   while (document.getElementById("dropmsg"+inc)){
  8.    document.getElementById("dropmsg"+inc).style.display="none"
  9.    inc++
  10.   }
  11.  }
  12. }
  13. function expandone(merde){
  14.  if (document.getElementById){
  15.   //var selectedItem=document.dropmsgform.dropmsgoption.selectedIndex
  16.   contractall()
  17.   document.getElementById("dropmsg"+merde).style.display="block"
  18.  }
  19. }
  20. </head>
  21. <body>
  22. <form name="dropmsgform
  23. <a href="javascript:expandone(0)">lien0</a>
  24. <a href="javascript:expandone(1)">lien1</a>
  25. tu peux en mettre plus bien sure...
  26. </form>
  27. <div  id="dropmsg0">
  28.   Text correspondant au lien0
  29. </div>
  30. <div  id="dropmsg1">
  31.   Texte correspondant au lien1.
  32. </div>
  33. </body>
  34. </html>


 
Voila , DE RIEN
 
http://www.


Message édité par papachico le 08-08-2004 à 17:50:52
Reply

Marsh Posté le 08-08-2004 à 12:56:06    

echo
 
(inutile le lien en bas... mais le en signature)


Message édité par RiderCrazy le 08-08-2004 à 12:56:24
Reply

Marsh Posté le 06-12-2004 à 00:27:09    

OK, merci! (mieux vaut tard que jamais...)
 
ça va me permettre de me replonger là-dedans.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed