Sign in to follow this  
dsasda

Вопрос по PHP

Recommended Posts

Хочу узнать, как будет лучше, логичнее, правильнее, эффективнее, адекватнее итп. сделать переключение страниц.
Сейчас я сделал папку pages, куда кидаю файлы, например, rules.php, rules_all.php и сделал это всё через include в index.php

include("menu_nav.php");if ($subpage == "")$link = $page;else$link = "".$page."_".$subpage."";include("pages/$link.php");

а menu_nav сделан в стиле switch case

 

Как же всё-таки лучше организовать смену контента или страниц сайта ? Может вы посоветуете AJAX / javascript, но я их не знаю, но в любом случае буду рад вашим советам.
П.С. У меня самого есть разные варианты, но не знаю какие будут лучше:

  • В базе данных хранить контент
  • В базе данных хранить названия файлов и вызывать их с базы ( по сути тот же include )
  • AJAX ( его не знаю)
  • JavaScript ( его не знаю)

Лично для моей логики это более-менее адекватные решения.

Share this post


Link to post
Share on other sites

Хранить контент и все остальное в бд, а код должен только вызывать все это

Share this post


Link to post
Share on other sites

Лично мне, на CMS достаточно сложно верстать дизайны. А с точки зрения производительности, что быстрее ? Вызов с базы данных или через include ?

Share this post


Link to post
Share on other sites

Лично мне, на CMS достаточно сложно верстать дизайны. А с точки зрения производительности, что быстрее ? Вызов с базы данных или через include ?

На самом деле не сложнее чем делать на голом php.

Share this post


Link to post
Share on other sites
Лично мне, на CMS достаточно сложно верстать дизайны.

А в чём именно сложность?

Share this post


Link to post
Share on other sites

Последняя CMS, на которую я пытался верстать шаблон был Wordpress. Вроде просто, но подключение разных функций - для меня большой геморой. Пытался смотреть по примеру других шаблонах, запутался и нифига не понял - что, зачем, куда, как и почему.
До этого пытался в Джамале, там вообще сложно было сделать.

Share this post


Link to post
Share on other sites

Перечисленные вами системы большие и тяжелые. Возможно стоит посмотреть совсем сверх маленькие простые cms для таких же простых и стандартных вещей

Share this post


Link to post
Share on other sites

Последняя CMS, на которую я пытался верстать шаблон был Wordpress. Вроде просто, но подключение разных функций - для меня большой геморой. Пытался смотреть по примеру других шаблонах, запутался и нифига не понял - что, зачем, куда, как и почему.

До этого пытался в Джамале, там вообще сложно было сделать.

Какая ирония)

Я начинал с шаблонов на Joomla, потом перешёл на Wordpress, а потом начал учить php.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Super_Saimon
      Добрый день! Есть задание - игра в города. Нужно из бд взять перечень городов и в момент ответа компьютера или игрока сравнивать города из списка, взятого из базы. Все, вроде, понятно, но столкнулся с проблемой, что некорректно удаляются города из массива, в котором хранится список городов из базы. Я использую этот массив чтобы знать когда игра закончилась и не повторялись города в ответах. Собственно, сам код без файла с подключением в бд. Там проблем я не обнаружил, массив городов функция возвращает корректный. Но удаление уже выбранных городов - проблема, которую никак не могу решить, вернее, понять в чем суть самой проблемы. Извиняюсь что выкладываю код в таком виде, не нашел аналога jsfiddle для php

       
      session_start();
      if(!empty($_GET['restart'])) {
          unset($_SESSION['cities']);
          unset($_SESSION['answer']);
          unset($_SESSION['incorrect_city']);
          unset($_SESSION['game_over']);
          header('Location: ./form.php');
          exit;
      }
      define('HOST', 'localhost');
      define('USER', 'root');
      define('PASSWORD', '');
      define('DATABASE', 'gamecity');
      $connect = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
      function getCityFromDB($dbconfig) {
          $listOfCities = "SELECT * FROM city ORDER BY city_id ASC";
          $query = mysqli_query($dbconfig, $listOfCities);
          while($res[] = mysqli_fetch_assoc($query)) {
              $cities = $res;
          }
          foreach($cities as $key => $val) {
              foreach($val as $key2 => $val2) {
                  if($key2 == 'city_name') {
                      $city[] = $val2;
                  }
              }
          }
          return $city;
      }
      if (empty($_SESSION['cities'])) {
          $_SESSION['cities'] = getCityFromDB($connect);
      }
      if(!empty($_POST['send'])) {
          if (findCity($_POST['city'], $_SESSION['cities'])) {
              if (empty($_SESSION['answer'])) {
                  $_SESSION['answer'] = firstStep($_POST['city'], $_SESSION['cities']);
                  $temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
              }else {
                  $answer = answer($_POST['city'], $_SESSION['answer'], $_SESSION['cities']);
                  if($answer) {
                      $_SESSION['answer'] = $answer;
                      $temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
                  }else {
                      $_SESSION['game_over'] = 2;
                  }
              }
              if(!$temp){
                  $_SESSION['game_over'] = 1;
              }else {
                  $_SESSION['cities'] = $temp;
              }
          }else {
              $_SESSION['incorrect_city'] = 'Некорректный город';
          }
          header('Location: /form.php');
          exit;
      }
      function firstStep($userCity, $arrayOfCities) {
          $temp = '';
          if(!empty($userCity)) {
              foreach ($arrayOfCities as $key => $val) {
                  if(mb_strtoupper(mb_substr($userCity, -1, 1, 'utf-8')) == mb_substr($val, 0, 1, 'utf-8')) {
                      $temp .= $userCity . ',' . $val;
                      return $temp;
                  }
              }
          }
          return false;
      }
      function findCity ($city, $listCities) {
          foreach($listCities as $key => $val) {
              if($val == $city) {
                  return true;
              }
          }
          return false;
      }
      function answer($city, $answer, $arrayOfCities) {
          if(mb_substr($city, 0, 1, 'utf-8' ) == mb_strtoupper(mb_substr($answer, -1, 1, 'utf-8'))) {
              $char = mb_strtoupper(mb_substr($city, -1, 1, 'utf-8'));
              foreach($arrayOfCities as $key => $val) {
                  $temp = mb_strpos($val, $char, 0,'utf-8');
                  if ($temp !== false) {
                      $answer .= ',' . $city . ',' . $val;
                      break;
                  }
              }
              return $answer;
          }
          return false;
      }
      function deleteCity($town, $cities) {
          if (count($cities) > 0) {
              $town = explode(',', $town);
              $cities = array_values($cities);
              for($i = 0; $i < count($town); $i++) {
                  for($j = 0; $j < count($cities); $j++) {
                      if($town[$i] == $cities[$j]) {
                          unset($cities[$j]);
                      }
                  }
              }
              return $cities;
          }
          return false;
      }
    • By kuzia007
      Пример сайта по разработке reactiq точка net 
      Цена на разработку 70 000 рублей. Без дизайна и верстки, от вас нам нужен функционал 
      на фреймворке Lavarel 
      Нужно постараться уложиться в 20 дней по срокам. 
      Работа по Сделке без риска. B и больше ни как. 

      Основные моменты работы сайта: 
      авторизация сайта через стим 
      считывания апи через официальный сайт pubg 
      Трейдов скинов и все остальное не будет! 
      подключить систему оплат 
      создание личного кабинета для пользователя. 
      Есть полное ТЗ проекта, которое мы готовы упрощать на первом этапе.
      Готовы достойно оплачивать ваш труд! 
      Пишите в телеграм @evgensalyah
    • By kuzia007
      Ищем талантливого программиста в игровой проект
      Для разработки игрового проекта требуются талантливые программисты.
      Отличное знание: PHP, JavaScript, Python
      Преимуществом будет если когда-то работали с платформой steam и с голосовым мессенджером Discord.

      Вкратце о проекте: Будет разрабатываться площадка для проведения турниров по играм pubg, dota, cs go.
      Ищем программиста с руками. Не важно какой вы ориентации, вероисповедания и т.д. Нам от вас важен результат!
      Готовы достойно оплачивать ваш труд! 
      Пишите в телеграм @evgensalyah
  • Member Statistics

    46,551
    Total Members
    3,128
    Most Online
    Илья92
    Newest Member
    Илья92
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.