Въпрос относно $_GET + array

Ev0luti0N

Registered
Здравейте, искам да попитам в момента правя страниците ми за извеждане по следния начин:
PHP:
$page = $_GET['page'];
if($page == "asd") { 
include "asd.php";
} elseif($page == "asdasd") {
include "asdaad.php";
} else {
include "index.php";
}
Но имаше някакъв вариянт като изредя страниците в един array и става по лесно някакси. Ако може да ми го споделите.

Благодаря :)
 
Голямо изреждане е докато при
PHP:
$arr = array("index", "news", "register", "login");
Става мн по-прегледно, но не се сещам даже бих казал, че незнам как ще стане проверката и извеждането на страницата през този array
 
Еми с ключовете... Аз лично не виждам голяма разлика.
PHP:
$page = $_GET['page'];
if($page ==$arr[0] ) { 
include "index.php";
 
tedo96 каза:
Еми с ключовете... Аз лично не виждам голяма разлика.
PHP:
$page = $_GET['page'];
if($page ==$arr[0] ) { 
include "index.php";
Не е това друго е ;)
 
PHP:
$arr = array("index", "news", "register", "login");

if(in_array($_GET['page'], $arr))
{
include($_GET['page'].'.php');
} else die('404 not found');

:lol:
 
По принцип можеш да наблъскаш възможните опции от $_GET в някакъв предварително заложен масив, като при проверка дали фигурира ключовата дума, да изкарва отделните страници.
Във втория масив или слагаш целия HTML, който искаш да показваш, или името на файл, който после ще include-ваш.

PHP:
<?
$pages = array("home", "user", "contact", "search");
$content = array();
$content["home"] = "home.php"; #1-ви начин с include
$content["user"] = "<body>Много html код</body>"; #2-ри начин с HTML код
if (in_array($_GET["page"], $pages)) { 
  include($content[$_GET["page"]]); #1-вия начин с include (page=home)
  echo $content[$_GET["page"]];  #2-рия начин с HTML и echo (page=user)
}
else { 
  зареди начална страница или дай грешка
}
?>

Като цяло тоя код не е съвсем използваем, а по-скоро ориентировачен. Вероятно има и по-лесни начини, но този би трябвало да подейства.[/php]
 
PHP:
<?php
$p = $_GET['p'];
$pages= array("pag1","pag2","pag3");
    if (in_array ($p, $pages)) {
   if($p == 'pag1') { 
    include("pag1.php");
  }
 if($p == 'pag2') { 
    include("pag3.php");
  }
 
if($p == 'pag3') { 
    include("pag3.php");
  }
 else {
echo 'suck';
}
 ?>


Не съм пробвал дали работи кода ,,но начина е такъв.
 
bloods33ker каза:
PHP:
<?php
$p = $_GET['p'];
$pages= array("pag1","pag2","pag3");
    if (in_array ($p, $pages)) {
   if($p == 'pag1') { 
    include("pag1.php");
  }
 if($p == 'pag2') { 
    include("pag3.php");
  }
 
if($p == 'pag3') { 
    include("pag3.php");
  }
 else {
echo 'suck';
}
 ?>


Не съм пробвал дали работи кода ,,но начина е такъв.
Този код е леко безсмислен. Първо правиш проверка дали съществува в масива и след това проверяваш дали е точно определена стойност. Ако първата проверка минава няма смисъл от другите if-ве, така само пишеш излишен код и използваш ресурс, който не е нужен. Общо взето моят код е същия, само че тези проверки ги няма, защото няма смисъл от тях. :o
 
Направи един масив с страниците и дай foreach на масива и в цикъла проверявай и вмъквай.
 

Back
Горе