Skocz do zawartości



[Tutorial]Menu w Switch

php switch menu pomoc poadnik tutorial

4 odpowiedzi w tym temacie

#1 Kamil.K

    Zakorzeniony

  • Użytkownik
  • PipPipPipPipPip
  • 109 postów
  • Miasto:Gdańsk

Napisano 11/01/2012 - 20:57

Witam, w tym tutorialu, opisze wam krótko jak zrobić menu w switch. Pewnie pytacie się po co tak robić ? Moim zdanie, jest to prostsze, ponieważ zamiast tworzyć 100 stron i kopiować do nich szablon, robimy index.php i includujemy w niego pliki. A więc zacznijmy !

Zaczynamy od stworzenia pliku index.php, w którym będą znajdowały się linki ( nasze menu) oraz instrukcja switch. Polega to na tym aby każda strona miałą przypisane $_GET['page']. Np : index.php?page=stronaglowna. Page, będzie zmieniana w linkach.

Przykładowy link
<a href="index.php?page=stronaglowna"> Strona glowna </a>

Instrukcja Switch

switch($_GET['page']) // Wykonuje instrukcje switch na $_GET['page']
{
case 'stronaglowna' : include( 'glowna.php'); // Kiedy page jest równa stronaglowna includuje plik glowna.php.
break;
case 'download' : include('download.php'); // Tak samo jak wyżej z tym,  tylko, że jeśli page jest równe download.
break;
default : include('glowna.php'); // Jeśli page nie jest zdefiniowane, wtedy przenosi nas na strone główną.
break;
}
Można również stworzyć instrukcje warunkową if, aby wyeliminować błąd, a dokładnie notice, o braku $_GET['page'], lub po prostu go wygłuszyć używając error_reporting(0);. Poradnik jest prosty, myślę, że przyda się osobom zaczynającym w php. Jeśli znaleźliście jakiś błąd, piszcie na PW, lub pod tematem. Jeśli poradnik się przydał lub spodobał licze na plusa .


Cały kod index.php.

<div id=menu>
<?php
if($_GET['page']=='')
	{
		header("Location: index.php?page=glowna");
	}
error_reporting(0);
   echo'<a href="index.php?page=glowna"> Strona glowna </a><br>';
	echo'<a href="index.php?page=kontakt"> Kontakt </a><br>';
	
?>
</div>
<div id=tresc>
<?php
   switch($_GET['page'])
	   {
	   case 'glowna' : include('glowna.php');
	case 'kontakt' : include('kontakt.php');
	
	   }


   ?>
  </div>

Plik który nazwiecie, musi mieć nazwę index.php, ponieważ w skrypcie wystąpią błędy. Można również zrobić zabezpieczenia przed zmienianiem zawartości w linku,ale to opisze kiedy indziej. Dziękuje za przeczytanie.

#2 Kamil Oniszczuk

    Aktywny

  • Użytkownik
  • PipPipPip
  • 38 postów

Napisano 11/01/2012 - 21:28

Mogłeś opisać co to default, bo może ktoś nie wiedzieć.





Cytat

<div id=tresc>
Nie jestem do końca pewien, ale raczej w poleceniu div, id trzeba podać w cudzysłowie, ale jak mówiłem nie jestem pewien, a nie chce mi się sprawdzać :f.

#3 Kamil.K

    Zakorzeniony

  • Użytkownik
  • PipPipPipPipPip
  • 109 postów
  • Miasto:Gdańsk

Napisano 11/01/2012 - 21:54

Nie trzeba do div "". A default podałem, do czego służy w tym skrypcie, raczej to jest tutorial który pokazuje wykorzystanie switch, a nie jego naukę.

#4 Sosna

    Zaangażowany

  • Użytkownik
  • PipPipPipPip
  • 63 postów

Napisano 12/01/2012 - 21:24

Przydatne dla początkujących, co do wyświetlania błędu, o którym mówisz, można go rozwiązać inaczej dając switch() w if($_GET['page'] != '') a potem w else przekierowanie headerem. Lub przypisać $_GET['page'] do zmiennej i nadać jej wartość 'stronaglowna' w przypadku gdy jest pusta.

#5 Kamil.K

    Zakorzeniony

  • Użytkownik
  • PipPipPipPipPip
  • 109 postów
  • Miasto:Gdańsk

Napisano 12/01/2012 - 21:30

@up zrobiłem tak, jak napisałeś tylko w troche inny sposób ale działa, widocznie nie czytałeś całego kodu ;].





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych