Lorsque tu utilises le système de fichier avec ta fonction include() (c'est à dire des chemins sur le disque) le code php est inséré à l'endroit souhaité puis exécuté.
Si tu utilises une url (commençant par un protocol http ou autre), php ouvre l'url demandée comme n'importe quel navigateur. Le code de la page est donc exécuté indépendament sur le serveur et c'est le résultat renvoyé à l'écran qui est récupéré par php et inclu dans ton script (résultat qui n'est donc pas exécuté puisqu'il ne s'agit que de html)
A partir de là, il te faut voir dans quel cas tu travailles sur le système de fichier ou via des url (la racine "/" n'est pas la même dans les deux cas) et utiliser les chemins adéquats
Ps : euh.... elle sert à quoi la fonction my_include() à part ajouter 3 caractères de plus pour faire un include ?

Pps : préfère les balises "<?php" plutôt que les short open tags "<?"
Merci pour ta reponse Ryle
En fait je creer une session apres le login qui me donne 3 variables :
$_SESSION['Base_url'] = "http://xxx/";
$_SESSION['Base_url_menu'] = $_SESSION['Base_url']."menu.php";
$_SESSION['Base_url_header'] = $_SESSION['Base_url']."header.php";
Ensuite je veux utiliser ces variables en include (car les page ne se situent pas toutes au même endroit.
Pour ca je fais un appel ensuite dans ma page :
<table border="0" cellspacing="0" cellpadding="0" class="gab" align="center">
<!-- Header -->
<tr>
<td colspan="3"><? include($_SESSION['Base_url_header']); ?></td>
</tr>
<!-- Menu -->
<tr>
<td valign="top"><? include($_SESSION['Base_url_menu']); ?></td>
Dans ce cas la il m'inclus bien les 2 fichier header.php et menu.php
Sauf que : dans le fichier header.php ben ya plus les variables de session de l'utilisateur type :
$_SESSION['login']
par contre le reste s'affiche correctement, bon la déjà j'ai du mal a comprendre.
Ensuite lorsque je l'appel depuis une page dans un dossier, il ne me retrouve les 2 fichiers mais plus aucune variables de session sur mes liens ne marche type :
<img src="<? echo $_SESSION['Base_url']; ?>_medias/img/menu_dispo.gif" />
par contre le reste du code marche.
J'ai l'impression qu'avec ma methode je perds mes variables de sessions, pourtant elle ne sont pas écrasées, sont statique et definies dans un fichier de login.
Pour les short tag je préfère les utiliser en fait il n'y a absolument aucune difference entre short et long tag donc je préfère ceux la, a vrai dire je crois que c'est plus une question de beauté pour le code.
Pour la fonction my_include je pensais l'utiliser car les variables ne passaient pas directement en include mais apparement si.
Une idée ?