Continut in functie de adresa de accesare pagina

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
bvlucretiu
Mesaje:88

Continut in functie de adresa de accesare pagina

Bună!
Am în pagina de conținut a unui site, codul de mai jos, unde am "prelucrare pagină pentru afișare" cu switch ($pagina), iar cu "case" numele paginilor existente pe server.
În cazul în care am nevoie să creez mai multe pagini pe respectivul server aș dori să întreb dacă există vreo variantă care să-mi ușureze creerea de prea multe variante cu "case"!
Aș putea să utilizez baza de date pentru a nu mai fi nevoit să modific permanent fișierul de "conținut.php" la necesitatea creeri unui nou fișier care trebuie înregistrat pentru a fi vizibil pe server?
Mulțumesc anticipat!

Cod: Selectaţi tot


<?php
// se verifica daca se cere o pagina
if (isset($_GET['pagina']))
	{
	// daca se cere o pagina se verifica daca variabila nu este goala
	if(!empty($_GET['pagina']))
		{
		$pagina = $_GET['pagina'];
		}
	// daca este goala se ia pagina principala
	else
		{
		$pagina = 'prima';		
		}
	}
// daca nu se cere nici o pagina inseamna ca trebuie afisata pagina principala
else
	{
	$pagina = 'prima';
	}
	
// in continuare se prelucreaza pagina pentru afisare
switch ($pagina)
	{
	
//obiective	
 
	case 'prima':
	  if (file_exists("prima.php"))
	     {
	     include_once("prima.php");
	     $afisare = '';
	     }
	     else
	     {
	     $afisare = '<br>Eroare: Nu se gaseste fisierul prima.php';
	     }
		break;
		
		default:
		$afisare = '<br>Eroare: A fost ceruta pagina cu numele <b>'.$pagina.'</b> dar nu exista pe server.';		 
	
	}

// se afiseaza codul html pentru continut
echo $afisare;
?>


MarPlo Mesaje:4343
Salut
Uite un exemplu de cod care te-ar putea ajuta.
Intai creezi un tabel mysql ca acesta:

Cod: Selectaţi tot

id | pagina| title | description | content | dtreg
 1 | index | titlu | descriere   |continut | data-insert
- in acest tabel se adauga datele pentru fiecare pagina (inclusiv prima (index)): pagina (valoarea din $_GET, sau index), titlu, descriere, continut si dtreg (data inregistrarii).

Iar codul pentru selectare continut:

Cod: Selectaţi tot

$pagina = isset($_GET['pagina']) ? trim(strip_tags($_GET['pagina'])) :'index';

//SQL pt. select datele pt $pagina
$sql ="SELECT * FROM nume_tabel WHERE pagina ='$pagina' LIMIT 1";

//se efectueaza select-ul cum stii, cu MySQLi sau PDO
//daca e rand returnat, se prelucreaza datele returnate si se afiseaza continutul
- Sau poti studia si folosi script-ul de la pagina: https://marplo.net/php-mysql/creare_site_cms.html

Subiecte similare