• 0

PHP Switch Menu System


Question

Hi!

I have this as a system to switch pages on a website:

<?php

								if (! isset($_GET['page']))
								{
									include('./index.php');

								} else {

									$page = $_GET['page'];

									switch($page)
									{
										case 'home':
											include('./news.php');
											break;

										case 'downloads':
											include('./downloads.php');
											break;

										case 'music':
											include('./music.php');
											break;

										case 'gallery':
											include('./gallery.php');
											break;

										case 'support':
											include('./support.php');
											break;

										case 'history':
											include('./history.php');
											break;

										case 'privacy':
											include('./privacy.php');
											break;

										case 'ucsig':
											include('./ucsig.php');
											break;

										default:
											include('./news.php');
											break;
									}
								}

								?>

However, when you go to something like http://www.mysite.com/index.php then it just says it cannot display the page, it doesnt display the default value. Is there a way to stop this or is it just something I have to put up with?

Cheers,

Peter

Link to comment
https://www.neowin.net/forum/topic/505404-php-switch-menu-system/
Share on other sites

4 answers to this question

Recommended Posts

  • 0

from the looks of it when you go to just plain old index.php it detects that $_GET['page'] is not set, so it then tries to include index.php, and it carries on in an infinate loop until the server or php processor timeout and you end up with nothing. shouldnt it be including news.php which according to the switch statement is your home page?

  • 0

This bit of code here:

								if (! isset($_GET['page']))
								{
									include('./index.php');

								}

should be this:

								if (! isset($_GET['page']))
								{
									include('./news.php');

								}

That's what Lyndon was saying. You were checking to see if there was a get, and if there wasn't, you were including the current page which starts an infinite loop and therefore displays an error. The above should work though.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • They did remove the Start button with Windows 8, but everyone had their pitchforks out. That OS had its many issues, but you could work on a desktop environment without the Start. Safe to say not many liked it.
    • I always just assumed that how I start programs is pretty close to how most people do it, which is... 1)Either start a program from desktop icon. or... 2)Windows key (or mouse click on start menu) and when start menu appears type in a little of what program you are trying to find, it will highlight, then press enter (or find it with mouse pointer and click it) is the very basic idea. this is very basic core functionality I would never change since it's quick and to the point and just works and has been this way a long time now. NOTE: I am on Linux Mint 22.1-Xfce (I am using the 'dark' menu since the default light grey is a bit out of place with the rest of Mint's darker look), but the very basics like this are the same as Windows in this regard. I like how Mint tends to pretty much stay the same (minor tweaks from point release to point release that are slight but overall it's pretty much the same) instead of change for the sake of change like Windows does and ends up making some stuff potentially worse as a result. I say screw all of those trends where something has to 'look current' as I am more of the mindset once something looks good enough, which Mint does (along with say Windows 7's core interface and the like), you don't screw with it as if someone does want to mess with it, they can do their own custom tweaks on the side, but the base install should be like that 'old faithful' type of interface that everyone has been familiar with for decades now. so by that standard the 'Start Menu' is still useful. I would NEVER get rid of that core functionality as Win8 pretty much tried that upon release and it made doing VERY basic stuff a chore which is why after I briefly tried Win8 in a VM, I never bothered with that OS again as that was easily Microsoft's biggest mess up with interface changes and I have been using Windows since v3.11 in mid-1990's and that Win8 interface change was by far the biggest mess up from Microsoft (how that made it to the final product is beyond me). I realize they supposedly fixed it in Win 8.1, but by then no one really cared as Win7 was the standard and those moving on from that went to Win10.
    • i click a few things on the start menu, other wise I do still use the run box daily.
    • That article title has a typo, it's supposed to say "Do I even need it?" And... I would not have wasted time writing a full article on a software [or feature] analysis based on exactly 1 user experience.
    • Lots of people use it without having an angsty Gotterdammerung.
  • Recent Achievements

    • Week One Done
      Wayne Robinson earned a badge
      Week One Done
    • One Month Later
      Karan Khanna earned a badge
      One Month Later
    • Week One Done
      Karan Khanna earned a badge
      Week One Done
    • First Post
      MikeK13 earned a badge
      First Post
    • Week One Done
      OHI Accounting earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      679
    2. 2
      ATLien_0
      275
    3. 3
      Michael Scrip
      207
    4. 4
      +FloatingFatMan
      171
    5. 5
      Steven P.
      148
  • Tell a friend

    Love Neowin? Tell a friend!