Knop om een include te wisselen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bjorn Hoogeveen

Bjorn Hoogeveen

05/07/2011 17:51:44
Quote Anchor link
Heey allemaal!

Ik heb een menu gemaakt in HTML, en een menu in Flash. Nu wil ik dat gebruikers zelf kunnen wisselen tussen deze twee menu's. Ik include de menu met PHP. Hoop dus een knop te kunnen maken, waarbij het volgende gebeurt:

van includes/menuf.php
naar includes/menuh.php

en andersom. Is dit mogelijk? En zo ja: hoe (ik dacht zelf met JavaScript)? (ik snap dat de page dan moet reloaden)

Ps. wat dus niet de bedoeling is om twee websites te hebben: een met een html menu, en een met een flash menu, en deze te laten wisselen. Het gaat hier puur om het menu dat moet wisselen.

Alvast bedankt!
 
PHP hulp

PHP hulp

20/04/2024 04:56:57
 

05/07/2011 17:54:47
 
Php knipper

php knipper

05/07/2011 17:55:59
Quote Anchor link
Je kan dat doen met een session.
 
Bjorn Hoogeveen

Bjorn Hoogeveen

05/07/2011 18:35:29
Quote Anchor link
Dankjewel voor de reacties. Met GET vat ik hem niet. Een session tutorial leert mij inderdaad dat er data opgeslagen kan worden (de keuze van welk menu). Hoe alleen nu de include laten wisselen (met behulp van een image)?

Is het misschien gemakkelijker om 'hidden content' erin te zetten, en met een knop de ene te laten verbergen, en de ander zichtbaar te maken? (zodat de pagina ook niet hoeft te reloaden?)
 
Wouter J

Wouter J

05/07/2011 18:55:55
Quote Anchor link
Als je een pagina niet wilt reloaden zul je moeten kijken naar JavaScript, en dan in het speciaal naar AJAX. jQuery (JS libary) heeft een zeer goede intergratie met AJAX.
 
Php knipper

php knipper

05/07/2011 20:38:17
Quote Anchor link
het is simpel om dit te doen met session

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// Zorg dat hierboven ERGENS session_start() staat!
if(isset($_SESSION['menu'])) {
    $fout = '';
include "menu 1";
}
else {
    include "menu 2";
}

?>


nu moet je enkel als menu 1 word weergegeven een session maken die menu noemt en om menu 2 weer te geven moet je de session 1 verwijderen.
 
Wouter J

Wouter J

05/07/2011 21:38:56
Quote Anchor link
@knipper, waarom hiervoor session gebruiken? Je gebruikt het maar op 1 pagina. Een GET is het best, als je een refresh wilt. Anders AJAX. Voorbeeldje met get:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
switch($_GET['page'])
{
  case
'home' :
    include 'home.php';
    break;
  case
'about' :
    include 'about.php';
    break;
  case
'contact' :
    include 'contact.php';
    break;
  default :

    include 'home.php'; // Always set a default
}
?>

<a href="index.php?page=home">Homepagina</a>
<a href="index.php?page=about">About pagina</a>
<a href="index.php?page=contact">Contact pagina</a>
 
Bjorn Hoogeveen

Bjorn Hoogeveen

05/07/2011 22:38:44
Quote Anchor link
Heey allemaal!

Hij werkt, maar wel met een work-arround. Ik heb julie manieren geprobeert, kwam er niet helemaal uit. Verder nog awt rond gezocht op het internet. Ik kom momenteel uit op het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- script voor roteren flash / html menu -->
<script type="text/javascript">
    var t=setTimeout("unhide('htmlmenu')",1);
    var t=setTimeout("unhide('htmlmenu')",1);
    var t=setTimeout("unhide('flashmenu')",1);
        function unhide(divID) {
        var item = document.getElementById(divID);
        if (item) {
            if (item.className=='unhidden')
                {item.className='hidden'}
            else
                {item.className='unhidden'}
            }
        }
        function openOtherLinks(id1, id2) {
        var link1 = document.getElementById(id1);
        var link2 = document.getElementById(id2);
        if(!link1.href || !link2.href)
        return;
        document.location.replace(link2.href);
        document.location.replace(link1.href);
    }
</script>         
</head>

<body id="page4">
    <a href="javascript:openOtherLinks('link1', 'link2')"><img src="..." alt="..." /></a>
    <a id="link1" href="javascript:unhide('flashmenu')">Link 1</a>
    <a id="link2" href="javascript:unhide('htmlmenu')">Link 2</a>    
    <!-- einde script -->


Werkt met een timer. Hierbij laad hij 2x html menu, en 1x flash menu. Als ik de 2x htmlmenu eruit haal, werkt het niet meer zoals het hoort... Iemand nog ideeën hiervoor?
Gewijzigd op 06/07/2011 01:13:16 door Bjorn Hoogeveen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.