menu en PHP?

Petit nouveau ! | 5 Messages

10 févr. 2009, 19:36

Bonjour tout le monde

Je m'essayes au PHP depuis quelques jours mais avec un succès relatif. Je travaille sur mon petit site à moi: www.davisseau.com et j'ai tenté d'utiliser en lieu et place du traditionnel Iframe... le PHP. Quand j'ai découvert l'include, j'ai trouvé ça génial... mais les premières méthodes que j'ai trouvé sur internet me demandaient d'appeller mon index sur chaque lien. Cela avait pour incidence de reloader toute la page à chaque et de relancer ma bannière flash (ce que je veux pas :evil: )... puis j'ai trouvé une méthode que me permet de faire un peu ce que je veux mais la touche "retour" ne marche pas... et lorsque je veux inclure mon forum PHP ou encore mon formulaire de contact PHP, j'ai des problémes du genre:
Warning: include(./common.php) [function.include]: failed to open stream: No such file or directory in /home/wanoo/public_html/phpBB3/index.php on line 20
Je suppose que vous connaissez le problème!!!... J'ai demandé à mon hébergeur si je pouvais setter le path pour mes includes mais il m'a dit que je pouvais pas :evil:

Pour info, voici ce que je cherche à faire...
Image

J'apprécierai de l'aide :roll:

Merciiiiiiii

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 févr. 2009, 19:56

Bonjour,

Ce que tu veux faire ne peux pas se faire en PHP.
Il faut utiliser soit des frames, soit du javascript (mot clé : Ajax, il y a énormément de ressources là dessus sur le net)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 447 Messages

10 févr. 2009, 20:20

bonjour airone,

voici un lien qui pourrait t'intéresser, daans la continuité de ce que t'as suggéré @rthur:

http://tutorialblog.org/10-javascript-ajax-tabs/
Probably (only a) Human Problem?

Petit nouveau ! | 5 Messages

10 févr. 2009, 22:54

Bonjour,

Ce que tu veux faire ne peux pas se faire en PHP.
Il faut utiliser soit des frames, soit du javascript (mot clé : Ajax, il y a énormément de ressources là dessus sur le net)
justement... je suis déjà en ajax (du moins ça devrait)... et avec des commandes PHP... c'est pourquoi je poste ici, j'y comprend plus rien :cry:

Je peux vous montrer les codes si vous voulez...

Eléphant du PHP | 447 Messages

11 févr. 2009, 00:01

Je suis pas du tout sûr de mon idée mais j'ai vu dans le code source de ton site que tu insère ton swf à l'aide de javascript, peut-être c'est ça qui est la cause du rechargement de ton anim flash quand tu appelles tes document avec ajax... as-tu essayé plutôt d'utiliser la balise html <object>?

bon si ça se trouve je me trompe complètement, donc à prendre avec prudence
Probably (only a) Human Problem?

Petit nouveau ! | 5 Messages

11 févr. 2009, 02:31

Voila le fichier ajax.php que j'utilise:
<?php
 
$page=$_GET['page'];
     if($page==1)require 'pages/accueil.html';
else if($page==2)require 'pages/photos.html';
else if($page==3)require 'pages/videos.html';
else if($page==4)require 'pages/curriculumvitae.html';
else if($page==5)require 'pages/mapetitevie.html';
else if($page==6)require 'phpBB3/index.php';
else if($page==7)require 'form/use/contact/form1.html';

else if($page==8)require 'pages/video-parent.html';
else if($page==9)require 'pages/video-monttremblant.html';
else if($page==10)require 'pages/video-sutton.html';
else if($page==11)require 'pages/video-transalp.html';
else require 'pages/accueil.html';

?>

voila mon script:
<script type='text/JavaScript'>
var xhr = null; 
function getXhr()
{
     if(window.XMLHttpRequest)xhr = new XMLHttpRequest(); 
else if(window.ActiveXObject)
  { 
  try{
     xhr = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) 
     {
     xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
  }
else 
  {
  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
  xhr = false; 
  } 
}
 
function ShowPage(page)
{
getXhr();
xhr.onreadystatechange = function()
    {
     if(xhr.readyState == 4 && xhr.status == 200)
     {
     document.getElementById('page').innerHTML=xhr.responseText;
     }
    }
xhr.open("GET","ajax.php?page="+page,true);
xhr.send(null);
}
 
</script>
j'appelle mes liens via:
<a href="#" onClick="ShowPage(1)">
<a href="#" onClick="ShowPage(2)">
<a href="#" onClick="ShowPage(3)">
<a href="#" onClick="ShowPage(4)">
alors est ce que la methode est bonne ou pas?

mon problème c'est que le "retour" ne marche pas (comme si il n'y avait pas d'historique de page) et lorsque je tente d'appeller mon forum ou mon formulaire, il semble manquer des include (du moins des path)

je suis clair là??? rassurez moi lol

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

ViPHP
ViPHP | 1136 Messages

11 févr. 2009, 08:57

Salut ,

Courageux tu es de vouloir développer toi même tes méthodes ajax ...
bien que celle-ci semble correcte , je te conseille quand même l'utilisation de bibliothéques comme scriptaculous ou Jquery qui, en une ligne feront ce que tu fais en 30 !

Sinon , que te retourne ta requête faite en Js ?

Tu peux le savoir via firebug .

Petit nouveau ! | 5 Messages

12 févr. 2009, 03:04

Salut ,

Courageux tu es de vouloir développer toi même tes méthodes ajax ...
bien que celle-ci semble correcte , je te conseille quand même l'utilisation de bibliothéques comme scriptaculous ou Jquery qui, en une ligne feront ce que tu fais en 30 !

Sinon , que te retourne ta requête faite en Js ?

Tu peux le savoir via firebug .
merci je vais regarder ca de pres et te revenir la dessus des que j ai quelque chose de concret

Petit nouveau ! | 5 Messages

14 févr. 2009, 04:32

Bon... je tente de comprendre mais je n'y arrive pas...

Je comprend pas comment il n'est possible d'insérer des pages dynamiquement dans une autre page sans pouvoir faire de back et sans se casser la tête...

Mais pourquoi est il aussi méchant!!!!! :evil: :evil: :evil:

ViPHP
ViPHP | 1136 Messages

14 févr. 2009, 10:11

Salut ,

Mais ce que tu ne comprends pas , c'est le principe même d'ajax ...

Asynchronous JavaScript and XML


Dis toi bien , que ce n'est qu'une requête envoyé au serveur par javascript ( suite à une action , click, survole , drag , drop ect ... ) .. puis le serveur répond à cette requête sou la forme que tu veux XML/JSON javascript récupère alors le résultat ..

il ne lui reste plus qu'à l'afficher à l'endroit ou tu l'as demandé ! ( balise DIV par exemple ).

Voilà pour l'explication très sommaire , mais très concrète ...

Il y a beaucoup de choses à savoir sur le fonctionnement interne de ces fameuses requetes ...

Mais dans la pratique utiliser une librairie tel que Jquery ou Scriptaculous , est largement suffisant , fait gagner un temps énorme et surtout , donne certainement un code plus propre et performant , qu'un celui fait par un non spécialiste du javascript comme moi ou toi par exemple ..

( et pourquoi ré-inventer la roue ? ) :D