J'aimerais pouvoir faire afficher un lien hypertexte dans le pied de la page suivant la rubrique où l'on se trouve après avoir choisi dans le menu.
J'ai un include dans le pied :

<div id="pied">
<?php include("liens.inc.php");?>			
</div>


Et dans le fichier liens.inc.php, il y a :

<?php 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; 
switch($page){
case 'accueil':echo '';break;
case 'menu01': ????????????;break;
case 'menu02':????????????;break;
} 
?>


Que faut-il mettre à la plase de ? pour pouvoir afficher un lien.

J'avais essayé <a href="...">...</a>, ça marche pas.

J'avais mis ce lien dans un fichier .htm et à la place de ?, j'avais mis : include('fichier.htm');, ça affiche bien le lien mais en cliquant dessus, ça donne une page d'erreur.
Modifié par brunocaccio (04 Jul 2005 - 08:24)
salut,
Pour afficher du texte a l'aide du PHP il faut que tu utilise la fonction echo ().
Tu peut donc écrire :
echo '<a href="mapage.htm">Cliquer ici</a>';


Voila, si ca ne fonctionne pas avec ton include c'est a cause des chemin, il est préférable d'utiliser des adresses absolu ou alors revenant a la racine avec ..

J'espére que tu as compris sinon je t'explique mieux.

Bonne continuation
brunocaccio a écrit :

J'ai un include dans le pied


ça doit être affreusement douloureux, ça Smiley eek

(Désolé, c'était irrésistible)
Si j'écris echo '<a...>...</a>';, évidemment, ça m'affichera le texte brute mais certainement pas un lien!!!

Vincent, je n'ai pas compris le pb avec les chemins absolus, de quel chemin absolu tu parles, du lien hypertexte ou du lien vers le fichier .php?
Modifié par brunocaccio (03 Jul 2005 - 19:48)
brunocaccio a écrit :
Si j'écris echo '<a...>...</a>';, évidemment, ça m'affichera le texte brute mais certainement pas un lien!!!

Si c'est envoyé avec le bon content-type (text/html le plus souvent) le navigateur l'interprètera en tant qu'html et affichera bien un lien.
brunocaccio a écrit :
Si j'écris echo '<a...>...</a>';, évidemment, ça m'affichera le texte brute mais certainement pas un lien!!!

Vincent, je n'ai pas compris le pb avec les chemins absolus, de quel chemin absolu tu parles, du lien hypertexte ou du lien vers le fichier .php?



aHhH ? sûr ? moi je crois pas ^^

suis la remarque de djfeat mais je vois mal comment il pourrait en être autrement pour ton cas puisque c'est inclu dans une page HTML...
brunocaccio a écrit :
Si j'écris echo '<a...>...</a>';, évidemment, ça m'affichera le texte brute mais certainement pas un lien!!!

Vincent, je n'ai pas compris le pb avec les chemins absolus, de quel chemin absolu tu parles, du lien hypertexte ou du lien vers le fichier .php?


Si ca affiche un lien, c'est interprété donc en html ca te fera un lien.

Pour les chemins absolus je parle pour le include. Quand tu inclue un fichier tous les chemins se trouvant a l'intérieur peuvent devenir faux car la page et comme déplacé dans le dossier de la page qui l'inclue.

Quand je parle de chemin absolu je parle du style http://www.tonsite.com/blabla

Tu peut regarder ici pour plus d'infos.
brunocaccio a écrit :
Qu'est-ce que t'appelle content-type?

J'avais essayé et ça n'affiche que du texte.


Si tu donnais le code complet de ton essai ?
J'avais écrit ça la première fois :

<?php 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; 
switch($page){
case 'accueil':echo '';break;
case 'menu01': [b]echo '<a href='...'>...</a>[/b];break;
case 'menu02': [b]echo '<a href='...'>...</a>[/b];break;
} 
?>

Ca m'affichait le texte mais pas de liens : 'www....com'.

La deuxième fois, j'avais écrit le lien dans un fichier .htm et dans le fichier php, j'avais écrit ça :

<?php 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; 
switch($page){
case 'accueil':echo '';break;
case 'menu01': [b]include('fichier01.htm')[/b];break;
case 'menu02': [b]include('fichier02.htm')[/b];break;
} 
?>


Ca affichait bien le lien mais une page d'erreur qd on clique dessus.

Voilà, il n'y a plus de confusion maintenant! Mais je n'ai tjs pas la solution au pb!
Ca m'étonne vraiment que ca ne fonctionne pas, ta une adresse où on peut voir le résultat ou c'est uniquement en local ?
tu imbriques le même type de quotes dans ton PHP
Il faut faire comme ceci

echo [b]'[/b]<a href=[b]\'[/b]....[b]\'[/b]>...</a>[b]'[/b];

Ou bien

echo [b]'[/b]<a href=[b]"[/b]...[b]"[/b]>...</a>[b]'[/b];

Ou l'inverse Smiley cligne
Modifié par Olivier (03 Jul 2005 - 20:36)
C'est en local.
Je viens d'essayer à nouveau et ça ne marche toujours pas.
J'ai aussi remplacé le lien par le chemin absolu du fichier .htm. Ca ne marche pas non plus.
comme le dit Olivier, c'est un simple problème de guillemets

echo doit être suivi d'une chaîne HTML placée entre guillemets:
- echo "ici mon HTML"
- ou echo 'ici mon HTML'

Du coup, si tu as d'autres guillemets dans ta chaîne HTML, il faut les différencier des guillemets délimitant la chaîne.

Tu peux utiliser guillemets simples pour l'un, doubles pour l'autre, ou recourir comme l'a illustré Olivier à l'échapement, c'est à dire au caractère \ avant les guillemets HTML