Pagina 1 din 1

Continut in functie de adresa de accesare pagina

Scris: Sâm Oct 29, 2016
de bvlucretiu
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;
?>


Continut in functie de adresa de accesare pagina

Scris: Sâm Oct 29, 2016
de MarPlo
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