Pagina 1 din 1

Includere fisier cu nume din variabila

Scris: Mie Noi 09, 2016
de bvlucretiu
Bună!
Pot să înlocuiesc valoarea lui case cu o variabilă pentru a nu fi nevoit să întind o listă enormă în cazul în care am mai multe pagini?
Am acest cod, iar la mai multe pagini acesta crează o listă din ce în ce mai mare !

Cod: Selectaţi tot

case 'prima':
	  if (file_exists("prima.php"))
	     {
	     include_once("prima.php");
	     $afisare = '';
	     }
	     else
	     {
	     $afisare = '<br>Eroare: Nu se gaseste fisierul prima.php';
	     }
		break;
Vă mulțumesc!

Includere fisier cu nume din variabila

Scris: Mie Noi 09, 2016
de MarPlo
Salut
Poti sa faci asa, fara "case":

Cod: Selectaţi tot

//array with allowed files to include
$files =['prima', 'alta', 'xts123'];

$file ='prima';  //get file name
$afisare ='';
if(in_array($file, $files)){
  if(file_exists($file .'.php')) include $file .'.php';
  else $afisare ='<br>Eroare: Nu se gaseste fisierul: '. $file .'.php';
}
else $afisare ='<br>Eroare: Nu e permis nume fisier: '. $file;

Re: Includere fisier cu nume din variabila

Scris: Vin Noi 11, 2016
de bvlucretiu
Bună!
$files cum aş putea face să o preiau dintr-un tabel din baza de date cu MySQL fără să mai fiu nevoit să extind acel array, şi în acest caz aş putea popula coloana din care se preia variabila automat în momentul creeri necesităţii respectivei pagini!?
Vă mulţumesc mult, am învăţat mult de la dv din acest site!
Am studiat aproape tot siteul ceea ce ţine de programare, dar unele lucruri pe care nu le înţeleg, nu le pot învăţa decât de aici, din forum!
Vă mulţumesc!

Includere fisier cu nume din variabila

Scris: Vin Noi 11, 2016
de MarPlo
Faci un Select la acel tabel si adaugi datele (numele fisierelor) din coloana respectiva in $files.

Cod: Selectaţi tot

$files =[];
$sql ="SELECT nume_coloana FROM tabel";
$result = $conn->query($sql);

while($row = $result->fetch_assoc()){
  $files[] = $row['nume_coloana'];
}
- Sau, mai indicat, verifici direct daca $file e in tabel, fara sa mai creezi array-ul $files, si daca e, aplici include.

Cod: Selectaţi tot

$sql = "SELECT id FROM tabel WHERE coloana_fisier ='$file' LIMIT 1";
Daca e rand returnat, continui cu include.

Iar la crearea paginii faci un Insert in acel tabel, cu numele fisierului /paginii.

Includere fisier cu nume din variabila

Scris: Vin Noi 11, 2016
de bvlucretiu

Cod: Selectaţi tot

<?php
$pagina = isset($_GET['pagina']) ? trim(strip_tags($_GET['pagina'])) :'index';
 if(file_exists($pagina .'.php')) include $pagina .'.php';
  else $afisare ='<br>Eroare: Nu se gaseste fisierul: '. $pagina .'.php';
?>
Cu această formulă funcționează perfect, adică mă refer la faptul că nu mai am nevoie să mai evidențiez prin case cu switch și nu mai spune ca se cere pagina prima sau alta dar nu există pe server cu era înainte, însă funcționează fără baza de date, iar else-ul de la funcția if nu funcționează, nu știu de ce; adică chiar dacă fișierul nu există nu se afișează mesajul specificat,respectiv Eroare: Nu se gaseste fisierul: pur și simplu îmi afișează o pagină goală cu fundalul siteului din body decorat de css!
Toate bune!

Includere fisier cu nume din variabila

Scris: Sâm Noi 12, 2016
de MarPlo
Acel mesaj e continut in variabila $afisare; ca sa apara in pagina aplica-i "echo" in <body>:

Cod: Selectaţi tot

<?php if(isset($afisare)) echo $afisare; ?>