a href + php

a href + php - PHP - Programmation

Marsh Posté le 17-01-2005 à 13:48:09    

Bonjour à tous
 
Pourquoi php est-il différent de html lorsque l'on veut créer un lien vers un fichier avec la commande a href.
L'exemple ci-après ne fonctionne pas même en chipotant avec les " ou les <>.
Mon but est de créer un lien vers le fichier xyz.php sur la valeur TXT_contact
 
<a href="<?php echo TXT_Contact; ?>xyz.php"></a>
Merci d'avance

Reply

Marsh Posté le 17-01-2005 à 13:48:09   

Reply

Marsh Posté le 17-01-2005 à 14:27:03    

Ce serait plutot :  
 
<a href="xyz.php"><?php echo $TXT_contact; ?></a>

Reply

Marsh Posté le 17-01-2005 à 15:01:35    

rainbow_efreet a écrit :

Ce serait plutot :  
 
<a href="xyz.php"><?php echo $TXT_contact; ?></a>


Bonjour et merci,
C'est gentil mais j'avais déjà essayé et cela ne fonctionne pas non plus:
J'écris ceci:  
<a href="contact.php" target="_self"><?php echo $TXT_contact; ?></a><br>
Le txt qui devrait venir dans le menu est "Contact" et celui-ci devrait avoir le lien vers le fichier contact.php.
Sans le a href cela fonctionne.
Je précise que je ne fais du php que depuis qq jours.
Merci quand même

Reply

Marsh Posté le 17-01-2005 à 15:02:28    

Je comprend pas... La solution de rainbow fonctionne :??:
 
Qu'est-ce que tu entends par "Sans le a href cela fonctionne." ?

Reply

Marsh Posté le 17-01-2005 à 15:19:04    

mdb a écrit :

Bonjour et merci,
C'est gentil mais j'avais déjà essayé et cela ne fonctionne pas non plus:
J'écris ceci:  
<a href="contact.php" target="_self"><?php echo $TXT_contact; ?></a><br>
Le txt qui devrait venir dans le menu est "Contact" et celui-ci devrait avoir le lien vers le fichier contact.php.
Sans le a href cela fonctionne.
Je précise que je ne fais du php que depuis qq jours.
Merci quand même


 
Qu'est-ce que tu veux dire par "ça ne marche pas" ?
 
Essaie d'être plus précis...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 17-01-2005 à 15:23:44    

Vu que tu débutes ...
 
Quel est l'extension de ton fichier et à quoi correspond ta variable $TXT_contact.
Bref ... développe un peu si tu veux qu'on t'aide .  

Reply

Marsh Posté le 17-01-2005 à 15:25:16    

Le php ne fait que générer du code HTML. Donc regarde le code de la page que tu génères, et corrige ton code php pour que le code obtenu soit correct, point barre...:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-01-2005 à 15:41:22    

C'est gentil,
Voilà la variable que j'appelle:  define('TXT_Contact', 'Contact');
Lorsque je l'appelle dans le fichier index.php, le mot "Contact" se met bien sur la page (comme les autres lignes define)
Tout fonctionne très bien avec le code suivant dans ma page index.php <?php echo $TXT_contact; ?><br
Je voudrais insérer un lien sur ma variable comme en html de façon à pouvoir auvrir le fichier contact.php.
Je met donc le code suivant:<a href="contact.php" target="_self"><?php echo $TXT_contact; ?></a><br> et pas de chance même mon mot "Contact" n'apparaît plus et je n'ai donc pas de lien de surcroît.
En tous les cas merci

Reply

Marsh Posté le 17-01-2005 à 15:42:47    

file le code complet de ta page php.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-01-2005 à 15:45:36    

skeye a écrit :

file le code complet de ta page php.


Je peux la mettre sur le forum ou ce n'est pas autorisé ?

Reply

Marsh Posté le 17-01-2005 à 15:45:36   

Reply

Marsh Posté le 17-01-2005 à 15:46:53    

mdb a écrit :

Je peux la mettre sur le forum ou ce n'est pas autorisé ?


oui oui tu peux...par contre n'oublie pas les balises :
 

Code :
  1. le code



Message édité par skeye le 17-01-2005 à 16:03:36

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-01-2005 à 16:04:54    

<?php  
 require("decide-lang.php" );  
 ?>
 
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<div align="center"></div>
<div align="center">
  <table width="906" border="0" cellpadding="0" cellspacing="0" background="images/communes/fond1.jpg">
    <!--DWLayoutTable-->
    <tr>  
      <td height="43" colspan="4" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
          <!--DWLayoutTable-->
          <tr valign="middle">  
            <td width="27" height="29" valign="top"><div align="center"></div></td>
            <td width="30" align="center" valign="bottom"><div align="center">
                <a href="index.php?lang=fr"><img src="images/drapeaux/france.gif" alt="Français" width="25" height="11" border="0"></a></div></td>
            <td width="30" align="center" valign="bottom"> <div align="center">  
                <a href="index.php?lang=en"><img src="images/drapeaux/anglais.gif" alt="English" width="25" height="11" border="0"></a></div></td>
            <td width="30" align="center" valign="bottom"> <div align="center">  
                <a href="index.php?lang=nl"><img src="images/drapeaux/hol.gif" alt="Nederlands" width="25" height="11" border="0"></a></div></td>
            <td width="30" align="center" valign="bottom"> <div align="center">  
                <a href="index.php?lang=ge"><img src="images/drapeaux/allemand.gif" alt="Deutsch" width="25" height="12" border="0"></a></div></td>
            <td width="35" align="center" valign="bottom"> <div align="center">  
                <a href="index.php?lang=it"><img src="images/drapeaux/italie.gif" alt="Italian" width="25" height="11" border="0"></a></div></td>
          <td width="14">&nbsp;</td>
          </tr>
          <tr>  
            <td height="14"></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
          </tr>
        </table></td>
      <td colspan="2" rowspan="2" valign="middle">
   <div align="right"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">  
          <?php echo TXT_position_accueil; ?> </font></div></td>
      <td colspan="2" rowspan="2" valign="top"><img width="313" height="102" src="images/communes/mariee_h.jpg" border="0"></td>
      <td width="55" rowspan="5" valign="top" bgcolor="#FFFFFF"><img width="55" height="248" src="images/communes/bb_bras.jpg" border="0"></td>
    </tr>
    <tr>  
      <td height="59" colspan="2" align="center" valign="middle" background="images/communes/parchem_h.jpg"><!--DWLayoutEmptyCell-->&nbsp;</td>
      <td width="1">&nbsp;</td>
      <td width="51">&nbsp;</td>
    </tr>
    <tr>  
      <td height="68" colspan="2" valign="top"><img width="144" height="68" src="images/communes/soft.jpg" border="0"></td>
      <td colspan="4" valign="top"><img width="394" height="68" src="images/communes/way.jpg" border="0"></td>
      <td colspan="2" valign="top"><img width="313" height="68" src="images/communes/mariee_m.jpg" border="0"></td>
    </tr>
    <tr>  
      <td width="27" rowspan="3" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
      <td width="117" rowspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/communes/parchem_m.jpg">
          <!--DWLayoutTable-->
          <tr>  
            <td width="6" height="242">&nbsp;</td>
            <td width="95" valign="top"><div align="center">  
                <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
      <?php echo TXT_Accueil; ?> <br>
                  <?php echo TXT_Produits; ?><br>
                  <?php echo TXT_Prix; ?><br>
                  <?php echo TXT_Evene; ?><br>
                  <?php echo TXT_Gratuit; ?><br><br>
      <?php echo TXT_Contact; ?><br>
    <?php echo TXT_Franchisseur; ?><br>
                  <?php echo TXT_Liens; ?><br><br>
                  <?php echo TXT_Vie; ?><br>
                  <?php echo TXT_Plan; ?><br>
                </font></p>
              </div></td>
            <td width="16">&nbsp;</td>
          </tr>
        </table></td>
      <td height="46" colspan="4" valign="top"><div align="center"></div></td>
      <td colspan="2" rowspan="2" valign="top"><img width="313" height="78" src="images/communes/mariee_b.jpg" border="0"></td>
    </tr>
    <tr>  
      <td height="32">&nbsp;</td>
      <td>&nbsp;</td>
      <td width="255">&nbsp;</td>
      <td width="87"></td>
    </tr>
    <tr>  
      <td height="164">&nbsp;</td>
      <td colspan="4" rowspan="3" valign="top"><div align="center">  
          <p><font color="660033" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <?php echo TXT_centre_accueil; ?>
    </font></p>
        </div></td>
      <td width="142" rowspan="3" valign="top"><img width="142" height="268" src="images/communes/person_h.jpg" border="0"></td>
      <td rowspan="7" valign="top" bgcolor="#FFFFFF"><img width="55" height="301" src="images/communes/ombre_d.jpg" border="0"></td>
    </tr>
    <tr>  
      <td height="75"></td>
      <td valign="top"><img width="117" height="75" src="images/communes/parchem_b.jpg" border="0"></td>
      <td></td>
    </tr>
    <tr>  
      <td colspan="2" rowspan="4" valign="bottom"> <div align="center"><font color="#660033" size="2" face="Verdana, Arial, Helvetica, sans-serif"><img src="images/communes/cube_bl.gif" width="21" height="21"><br>
          </font><font color="#333366" size="1" face="Verdana, Arial, Helvetica, sans-serif">
    Created by: </font></div></td>
      <td height="29"></td>
    </tr>
    <tr>  
      <td height="2"></td>
      <td></td>
      <td></td>
      <td></td>
      <td width="171"></td>
      <td rowspan="3" valign="top"><img width="142" height="16" src="images/communes/pers_b.jpg" border="0"></td>
    </tr>
    <tr>  
      <td height="12"></td>
      <td></td>
      <td></td>
      <td colspan="2" valign="top"><div align="right"><font color="#333366" size="1" face="Verdana, Arial, Helvetica, sans-serif">
   <?php echo TXT_droits; ?></font></div></td>
    </tr>
    <tr>  
      <td height="2"></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>  
      <td height="17" valign="top"><img src="images/communes/ombre_g1.jpg" width="27" height="17"></td>
      <td valign="top"><img width="117" height="17" src="images/communes/ombre_g2.jpg" border="0"></td>
      <td colspan="5" valign="top"><img width="565" height="17" src="images/communes/ombre_b_m.jpg" border="0"></td>
      <td valign="top"><img width="142" height="17" src="images/communes/ombre_b_d.jpg" border="0"></td>
    </tr>
  </table>
</div>
</body>
</html>

Reply

Marsh Posté le 17-01-2005 à 16:05:41    

TXT_contact != $TXT_contact :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 16:14:59    

KangOl a écrit :

TXT_contact != $TXT_contact :o


Merci mais si je met
<a href="contact.php" target="_self"><?php echo TXT_contact; ?></a><br>
alors le lien fonctionne mais au lieu du mot "Contact" comme le $ est supprimé j'ai "TXT_contact" qui s'affiche à l'écran
http://softwaybelgium.com/softway/

Reply

Marsh Posté le 17-01-2005 à 16:15:19    

Ouch les tableaux :eek:

Reply

Marsh Posté le 17-01-2005 à 16:16:03    

<a href="contact.php" target="_self"><?=TXT_contact;?></a><br>
 
??


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 16:49:29    

Désolé KangOL, j'ai bien copié votre lien:
<a href="contact.php" target="_self"><?=TXT_contact;?></a><br>,mais rien ne change. (voir http://www.softwaybelgium.com/softway  
J'ai toujours cette saloperie de nom de variable qui s'affiche et non le titre!
J'ai un peu peur de vous ennuyer tous mais c'est mon premier site en php. Je veux comprendre et pas faire du bête copié-collé sinon je n'avancerai jamais !  
C'est si compliqué que cela du php? :pt1cable:

Reply

Marsh Posté le 17-01-2005 à 16:57:43    

On peut voir le code de ceci : decide-lang.php ?
A vue de nez il manque un define() dans ce fichier là :D


Message édité par ratibus le 17-01-2005 à 17:01:56
Reply

Marsh Posté le 17-01-2005 à 17:05:36    

Merci Ratibus,
<?php  
   
 if ($_GET['lang']=='fr') {// si la langue est 'fr' (français) on inclut le fichier lang/fr-lang.php  
 include('lang/fr-lang.php');  
 }  
   
 else if ($_GET['lang']=='en') {// si la langue est 'en' (anglais) on inclut le fichier lang/en-lang.php  
 include('lang/en-lang.php');  
 }  
 else if ($_GET['lang']=='nl') {// si la langue est 'nl' (néerlandais) on inclut le fichier lang/nl-lang.php  
 include('lang/nl-lang.php');  
 }  
 
 else if ($_GET['lang']=='ge') {// si la langue est 'ge' (allemand) on inclut le fichier lang/ge-lang.php  
 include('lang/ge-lang.php');  
 }  
 
 else if ($_GET['lang']=='it') {// si la langue est 'it' (italien) on inclut le fichier lang/it-lang.php  
 include('lang/it-lang.php');  
 }  
 else {// si aucune langue n'est déclarée on inclut le fichier lang/fr-lang.php par défaut  
 include('lang/fr-lang.php');  
 }  
   
 ?>

et à toutes fins utiles, le fr-lang.php

Reply

Marsh Posté le 17-01-2005 à 17:07:53    

mdb a écrit :

Merci Ratibus,
[/#00aa55]
et à toutes fins utiles, le fr-lang.php


[#00aa55]  
 <?php  
   
 //---------------------------------------------------------  
 // Page d'accueil
 //---------------------------------------------------------  
   
 define('TXT_position_accueil', 'Vous êtes dans: "<em>Accueil</em>"');  
 define('TXT_centre_accueil', 'FRANCAIS texte accueil Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et
            dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
            diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum  
            dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore  
            magna aliquyam erat.');  
 define('TXT_droits', '&reg; Tous droits réserves Softway');  
   
 //---------------------------------------------------------  
 // Menu général
 //---------------------------------------------------------  
   
 define('TXT_Accueil', 'Accueil');
 define('TXT_Produits', 'Produits');  
 define('TXT_Prix', 'Prix');  
 define('TXT_Evene', 'Evènements');  
 define('TXT_Gratuit', 'Gratuit');  
 define('TXT_Contact', 'Contact');
 define('TXT_Franchisseur', 'Franchisseur');  
 define('TXT_Liens', 'Liens');  
 define('TXT_Vie', 'Vie privée');  
 define('TXT_Plan', 'Plan du site');  
   
 //---------------------------------------------------------  
 // Page contact
 //---------------------------------------------------------  
// define('TXT_position_contact', 'Vous êtes dans: "<em>Contact</em>"');  
 ?>
 
 on inclut le fichier lang/nl-lang.php  
 include('lang/nl-lang.php');  
 }  
 
 else if ($_GET['lang']=='ge') {// si la langue est 'ge' (allemand) on inclut le fichier lang/ge-lang.php  
 include('lang/ge-lang.php');  
 }  
 
 else if ($_GET['lang']=='it') {// si la langue est 'it' (italien) on inclut le fichier lang/it-lang.php  
 include('lang/it-lang.php');  
 }  
 else {// si aucune langue n'est déclarée on inclut le fichier lang/fr-lang.php par défaut  
 include('lang/fr-lang.php');  
 }  
   
 ?>

Reply

Marsh Posté le 17-01-2005 à 17:10:16    

c'est quoi ce fichier decide-lang qui pourrait etre ecrit en 2 lignes ???


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 17:13:08    

KangOl a écrit :

c'est quoi ce fichier decide-lang qui pourrait etre ecrit en 2 lignes ???


Je précise que je débute!!!

Reply

Marsh Posté le 17-01-2005 à 17:14:57    

oui mais quand meme :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 17:18:46    

KangOl a écrit :

oui mais quand meme :o


Tu vois pourquoi cela ne fonctionne pas ou non ? Merci

Reply

Marsh Posté le 17-01-2005 à 17:26:24    

J'ai trouvé tout seul !!!!! C'est OK

Reply

Marsh Posté le 17-01-2005 à 17:32:13    

c'etait quoi ??


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 17:41:22    

mdb a écrit :

Bonjour et merci,
C'est gentil mais j'avais déjà essayé et cela ne fonctionne pas non plus:
J'écris ceci:  
<a href="contact.php" target="_self"><?php echo $TXT_contact; ?></a><br>
Le txt qui devrait venir dans le menu est "Contact" et celui-ci devrait avoir le lien vers le fichier contact.php.
Sans le a href cela fonctionne.
Je précise que je ne fais du php que depuis qq jours.
Merci quand même


 
La majuscule


Message édité par ukyo81 le 17-01-2005 à 17:44:47
Reply

Marsh Posté le 17-01-2005 à 17:42:32    

http://www.martoh.com/smileys/martoh_corbeau.gif


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 18:33:33    

Non ce n'est pas cela mais j'utilisais trop de mot contact.
J'ai remplacé: define('TXT_Contact', 'Contact'); par define('TXT_Test, 'Contact'); et idem dans mon fochoer index.php.
En tous les cas à tous merci car c'est la première fois que je vois des gens aussi actif ds un forum !
Dernière question à KangOL:  
c'est quoi ce fichier decide-lang qui pourrait etre ecrit en 2 lignes ??? Comment on fait svp?

Reply

Marsh Posté le 17-01-2005 à 18:56:41    

Code :
  1. <?php
  2. $lg=(isset($_GET["lang"]))?$_GET["lang"]:"fr";
  3. include('lang/'.$lg.'-lang.php');?>


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 19:11:15    

KangOl a écrit :

Code :
  1. <?php
  2. $lg=(isset($_GET["lang"]))?$_GET["lang"]:"fr";
  3. include('lang/'.$lg.'-lang.php');?>



Cool, mais je t'ai dis que je n'étais du style copier-coller. Donc
"isset" sert à vérifier si la variable existe ou non: ok?
Mais à quoi sert "lg" svp.
Tu vas me prendre pour un emmerdeur :sweat:  

Reply

Marsh Posté le 17-01-2005 à 19:16:19    

au fait la premiere ligne est une version "courte" de ca

Code :
  1. if(isset($_GET["lang"]))
  2. {
  3.   $lg = $_GET["lang"];
  4. }
  5. else
  6. {
  7.   $lg = "fr";
  8. }


 
pour la seconde ligne je pense que tu as compris...


Message édité par KangOl le 17-01-2005 à 19:16:50

---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 19:20:29    

pour etre complet, tu devrais rajouter cette ligne avant le include
 

Code :
  1. if(!file_exists('lang/'.$lg.'-lang.php')) $lg='fr';


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 17-01-2005 à 19:26:24    

Mille merci  
A bientôt

Reply

Marsh Posté le 17-01-2005 à 21:28:55    

mdb a écrit :

Non ce n'est pas cela mais j'utilisais trop de mot contact.
J'ai remplacé: define('TXT_Contact', 'Contact'); par define('TXT_Test, 'Contact'); et idem dans mon fochoer index.php.
En tous les cas à tous merci car c'est la première fois que je vois des gens aussi actif ds un forum !
Dernière question à KangOL:  
c'est quoi ce fichier decide-lang qui pourrait etre ecrit en 2 lignes ??? Comment on fait svp?

Ca m'étonnerait fortement que la cause de ton problème soit le fait que tu utilisais trop de fois le mot contact.
 
Par contre les constantes en PHP sont sensibles à la casse : http://fr2.php.net/manual/fr/language.constants.php

Reply

Marsh Posté le 17-01-2005 à 21:53:09    

Mais Ratibus, c'est génial ce site pour les nuls comme moi. Merci !

Reply

Marsh Posté le 18-01-2005 à 07:47:33    

mdb a écrit :

Mais Ratibus, c'est génial ce site pour les nuls comme moi. Merci !


c'est le site officiel de php...[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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