foutmelding array_shift() foreach()

Status
Niet open voor verdere reacties.

dollo

Gebruiker
Lid geworden
1 jan 2008
Berichten
118
Hallo
sinds kort krijg ik opeens de meldingen
Warning: array_shift() [function.array-shift]: The argument should be an array in /home/gasthuis/domains/gasthuiskapel.nl/public_html/menutest.php on line 82

Warning: Invalid argument supplied for foreach() in /home/gasthuis/domains/gasthuiskapel.nl/public_html/menutest.php on line 85

op de website te staan.
ik weet niet waar deze vandaan komen heeft altijd gewerkt en er is niet aangepast :S
(in ieder geval iedereen met toegang zegt dat er niets is aangepast en als ik terug kijk naar de datum dat er voor het laatst iets is aangepast aan de documenten weet ik ook dat dit klopt.)

op http://www.gasthuiskapel.nl/index.php
is het probleem te zien.
kan iemand mijn helpen?

alvast bedankt?:thumb:
 
Zou toch je menu opbouw eens controleren.
Daar schijnt het niet goed te gaan.

Er zijn geen mensen die in het menu aanpassingen hebben gedaan?
 
Kun je de code van het menu eens geven?

Het lijkt erop dat er geen menu-opties zijn, of dat iemand heeft zitten knoeien...
 
Waarschijnlijk is het level van error_reporting verhoogd. Je kunt het smerig oplossen door het weer uit te zetten, maar als je de code van het menu geeft, is het wel op te lossen.
 
PHP:
$standaard = 0; // Welk menu moet standaard open staan?
      $menu = array(); 
       $url1 = $_SERVER['REQUEST_URI'];
      	$menuopen1 = substr($_SERVER['REQUEST_URI'], 11, 8);
      	echo $url1;
      	$_SESSION['menu2'] = $menuopen1;
      echo '	
	<a class="nietschuif" href="index.php?menuid=ap=home" >Home </a> 
	';
	
	  $menu[0][] = "";
	  
      $menu[1][] = "<b>Verhuur</b>";
      $menu[1]['algemeen'] = "index.php?".$_SESSION['menu2']."p=algemeen";
      $menu[1]['tarieven'] = "index.php?".$_SESSION['menu2']."p=tarieven";
      $menu[1]['plattegrond'] = "index.php?".$_SESSION['menu2']."p=plattegrond";
      $menu[1]['erardvleugel'] = "index.php?".$_SESSION['menu2']."p=erardvleugel";
      $menu[1]['gebruiksvergunning'] = "index.php?".$_SESSION['menu2']."p=gebruiksvergunning";
	  $menu[1]['algemene voorwaarden'] = "index.php?".$_SESSION['menu2']."p=algemenevoorwaarden";
      $menu[1][""] = ""; 

      //Menu 1

      $menu[2][] = "<b>History</b>";
      $menu[2]['bouw/restauratie'] =   "index.php?".$_SESSION['menu2']."p=histbouwrestauratie";
      $menu[2]['gasthuishistorie'] ="index.php?".$_SESSION['menu2']."p=histgasthuishistorie";
      $menu[2]['gebruikshistorie'] = "index.php?".$_SESSION['menu2']."p=histgebruikershistorie";
      $menu[2][""] = ""; 
      
      $menuopen2 = substr($_SERVER['REQUEST_URI'], 18, 1);
      $_SESSION['menu'] = $menuopen2;
      
      if (!isset($_SESSION['menu']))
      {

      $_SESSION['menu'] = $standaard;
      }
      
	  for ($i=0; $i<count($menu); $i++)
      {

      if ($i == $_SESSION['menu']) // Links tonen 
      {
      echo "<b class= 'actief'>".$menu[$i][0]."</b><br>"; 
	  echo $menu;
      array_shift($menu[$i]); // hier gaat t fout
      foreach($menu[$i] as $key => $value) // Key en waarde
      {
      echo "<a class = 'sublink' href=\"".$value."\">".$key."</a><br>";
      }

      }	
      
      else // Geen links tonen 
      {
      	$url = $_SERVER['REQUEST_URI'];
		$lengte = strlen($url) -19;
		$menuopen2 = substr($_SERVER['REQUEST_URI'], 19, $lengte);   
      echo "<b><a href='?menuid=".$i.$menuopen2."'>".$menu[$i][0]."</a></b><br>";  
      }

wat ik al heb geprobeerd in plaats van array_shift
PHP:
$keys = array_keys($menu[$i]);
$firstkey = $keys[0];
 unset($menu[$i][$firstkey]);

hoop dat t nog een beetje leesbaar is :o

bij voorbaat dank:thumb:
 
ik heb de dader gevonden het heeft te maken met het starten van een session als ik session start aan het begin van alle code neer zet dan krijg ik de error.
ik heb deze helaas wel nodig weet iemand hoe dit kan?
ik zie namelijk het probleem niet:O

het probleem zat hem in de sessies bedankt voor jullie hulp :D
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan