menu script

Status
Niet open voor verdere reacties.

compudoc

Terugkerende gebruiker
Lid geworden
7 jul 2006
Berichten
1.018
Ik ben bezig met een 'uitklap' menu te maken maar ik heb nog 1 probleem.
Ik heb ipv MENU 1, MENU 2 een plaatje ingevoegd maar nu geeft hij een fout.

hieronder zet ik ff het script:
PHP:
<?php
$menupic1="/pics/navigatie/menu/nav_algemeen.jpg";
$standaard = 0;       // Welk menu moet standaard open staan?
$menu      = array(); // Array starten

//Menu 0 = Algemeen
$menu[0]			= "$menupic1";
$menu[0]['Home']    = "navigatie.php?pag=home";
$menu[0]['Ochtondprofeet'] = "navigatie.php?pag=ochtondprofeet";
$menu[0]['Weblog']    = "navigatie.php?pag=weblog";
$menu[0]['Zoeken']  = "navigatie.php?pag=zoeken";


if (!isset($_GET['menuid'])) // Als menuid niet gezet is => standaard openen
{
   $_GET['menuid'] = $standaard;
}

for ($i=0; $i<count($menu); $i++)
{
  if ($i == $_GET['menuid']) // Links tonen + menu ZONDER link
    {
      echo "<b>".$menu[$i][0]."</b><br>";

      array_shift($menu[$i]); // Schuif een element van het begin van de array af

      foreach($menu[$i] as $key => $value) // Key en waarde
      {
          echo "<a href=\"".$value."\">".$key."</a><br>";
      }
    }
    else // Geen links tonen + menu MET link
    {
       echo "<b><a href=\"?menuid=".$i."\">".$menu[$i][0]."</a></b><br>";
    }

    echo "<br>";
}
?>

het gaat om:
PHP:
$menu[0]			= "$menupic1";

en ik krijg de foutmelding:
Warning: array_shift() [function.array-shift]: The argument should be an array in C:\LOCATIE\header.inc.php on line 269

De fout slaat op dit maar ik weet niet wat ik eraan moet doen:
PHP:
array_shift($menu[$i]); // Schuif een element van het begin van de array af

Alvast bedankt,
 
Dus feitelijk wil je eerst een plaatje en dan de tekstlinks? Volgens mij is de fout dat aan het eerste item geen key meegeeft; je zegt $menu[0] = $menupic1 maar dan krijg je een string in die waarde, en array_shift kan daar niks mee. Wat je uiteindelijk moet krijgen is iets als dit (want het picie moet ook goed verwerkt worden):

PHP:
<?php 
$menupic1 = "/pics/navigatie/menu/nav_algemeen.jpg"; 
$standaard = 0;       // Welk menu moet standaard open staan? 
$menu      = array(); // Array starten 

//Menu 0 = Algemeen 
$menu[0]['Pic']            = $menupic1; 
$menu[0]['Home']    = "navigatie.php?pag=home"; 
$menu[0]['Ochtondprofeet'] = "navigatie.php?pag=ochtondprofeet"; 
$menu[0]['Weblog']    = "navigatie.php?pag=weblog"; 
$menu[0]['Zoeken']  = "navigatie.php?pag=zoeken"; 


if (!isset($_GET['menuid'])) // Als menuid niet gezet is => standaard openen 
{ 
   $_GET['menuid'] = $standaard; 
} 

for ($i=0; $i<count($menu); $i++) 
{ 
  if ($i == $_GET['menuid']) // Links tonen + menu ZONDER link 
    { 
      echo "<img src=\"".$menu[$i]['Pic']."\" /><br />\n"; 

      array_shift($menu[$i]); // Schuif een element van het begin van de array af 

      foreach($menu[$i] as $key => $value) // Key en waarde 
      { 
          echo "<a href=\"".$value."\">".$key."</a><br />\n"; 
      } 
    } 
    else // Geen links tonen + menu MET link 
    { 
       echo "<a href=\"?menuid=".$i."\"><img src=\"".$menu[$i]['Pic']."\" /></a><br />\n"; 
    } 

    echo "<br />"; 
} 
?>
 
Nee, niet helemaal ik wil in plaats van de tekstlink zo'n plaatje hebben.
Er is alleen nu een klein probleem nu krijg ik niks te zien. Geen plaatje of tekstlink
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan