Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> УРл страницы, точка входа index.php, вывод по разному,но работает ХМ??
YVSIK  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



★___★mvccmv.ru★___★
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4059
Пользователь №: 25563
На форуме: 6 лет, 6 месяцев, 26 дней
Карма: 64

Трезвый :
46 лет, 4 месяца, 24 дня


user posted image
При открытии подобно как тут на скине оба варианта (2,3) работают отлично,
нажимаем просто домен сайта eche/TWIN/(не обращать на навигацию, это для наглядности в корне ещё одна папка, но суть от это не меняется )
если в переходить по страницам как видно

при 2-ом будет так выглядеть УРЛ, /?page=main
при 3-ем будет так выглядеть УРЛ,/index.php?page=main
/index.php есть точка входа, почему её нет отображения если заходить через домен?
мне необходимо чтоб всегда при заходе через домен , всегда был прописан именно третий вариант, а если как у меня нет указания какую страницу выбрать, не будет указания на какую (пустой майн) то не перебрасывало на пустой УРЛ как во втором примере
пробовал по разному ничего не выходит ,, всегда если проходить с пустого домен путь всегда не содержит /index.php
даже если в .htaccess прописать так DirectoryIndex index.php всё равно путь отображается как второй вариант, как заставить чтоб всегда отображался третий вариант УРЛа



Спустя 11 минут, 22 секунды (12.01.2012 - 17:31) Winston написал(а):
Не уверен, но можно попробовать в htaccess прописать
RewriteEngine On
RewriteRule ^/?$ http://site.ru/index.php [L,QSA]

И по идее должно бросать на index.php при заходе.

Спустя 4 минуты, 59 секунд (12.01.2012 - 17:36) YVSIK написал(а):
точнее пробовал и так как ты говоришь
пробовал редиректом на самого себя нет не пропускает

Спустя 4 минуты, 57 секунд (12.01.2012 - 17:41) YVSIK написал(а):
тут суть такая я сделал подстановку через функцию названий страниц, титлов и тд.
но если нет ничего то есть пусто, то домен пустой и нет в функции пустой страницы вот и вылазит неполный домен и как следствие получается что надо в меню писать полные пути как ссылки index.php?page=main либо писать в функцию ИФом , и то и другое не хотелось применять
вот и подумал может есть другое решение
ведь кудато оно девается этот индекс.рнр может и в настройках апача
а так и не нашел места как это исправить

Спустя 5 минут, 3 секунды (12.01.2012 - 17:46) Winston написал(а):
Цитата (YVSIK @ 12.01.2012 - 16:41)
тут суть такая я сделал подстановку через функцию названий страниц

Цитата (YVSIK @ 12.01.2012 - 16:41)
вот и подумал может есть другое решение

Можно по такому принципу
<?
$page = $_GET['page'];
switch($page)
{
case 'main':
include 'main.tpl';
break;
case 'two':
include 'two.tpl';
break;
default:
include 'main.tpl';
}

Спустя 14 минут, 13 секунд (12.01.2012 - 18:01) YVSIK написал(а):
Цитата
Можно по такому принципу
не сообразил по какому ?
у мнея так и есть точка входа там и есть свич стоит
делаю меню так
  <a href="?page=1">Главная</a><br/> //1
<a href="index.php?page=2">Предприятия</a><br/>//2

стоит один раз перейти по второй сслыке всегда с индексом
по первой всегда без

Спустя 2 минуты, 2 секунды (12.01.2012 - 18:03) Игорь_Vasinsky написал(а):
Свернутый текст
если указано так - ?page=1 - это равнозначно index.php?page=1 - если точка входа index.php

Спустя 8 минут, 18 секунд (12.01.2012 - 18:11) Winston написал(а):
Ну так пиши постоянно ссылки
index.php?page=1
index.php?page=2

Если у тебя будет файл например file.php и в них будут относительные ссылки, вида ?page=1, то они будут постоянно клеиться к имени файла, то есть file..php?page=1 и т.д. Потому пиши ссылки вида index.php?oage=1

Спустя 10 минут, 44 секунды (12.01.2012 - 18:22) YVSIK написал(а):
Игорь но на деле получается же не так (спасибо) у меня во всяком случае
вот про то что ты сказал я не знал если это одно и тоже значит буду пробовать свои варианты , через ИФ в функции пропишу если нет страницы при пустом запросе перебросом
тут все дело с том что я беру через фу. названия pade=(...) а когда его там нет вот и вылетает нотис значит надо добавить дефолтную запись в функцию чтоб подобного не происходило


Winston нет дефлтной страницы и функция не знает, и нотис выдает,
все что вы ответили наводит только на одно надо добовлять эту дефолтную запись !!
ГУД!!

Спустя 2 минуты, 48 секунд (12.01.2012 - 18:25) Игорь_Vasinsky написал(а):
Цитата
вот про то что ты сказал я не знал если это одно и тоже значит буду пробовать свои варианты , через ИФ в функции пропишу если нет страницы при пустом запросе перебросом


switch($_GET['page'])
{
case 1:
//первая страницы
break;

case 2:
//вторая страницы
break;

default :
//первая страницы
break;
}

Спустя 3 минуты, 37 секунд (12.01.2012 - 18:28) Winston написал(а):
Цитата (YVSIK @ 12.01.2012 - 17:22)
нет дефлтной страницы и функция не знает, и нотис выдает

Значит напиши так
$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : 'dafaultPage.html';

Спустя 7 минут, 6 секунд (12.01.2012 - 18:35) Игорь_Vasinsky написал(а):
Winston
isset() wink.gif а то тоже нотис

Спустя 2 минуты, 22 секунды (12.01.2012 - 18:38) Winston написал(а):
Цитата (Игорь_Vasinsky @ 12.01.2012 - 17:35)
isset()   а то тоже нотис

С чего бы это? blink.gif
Всегда пользуюсь такой записью, когда принимаю текстовое значение из GET.
Никогда не получал нотиса от такой записи.

Спустя 1 минута, 37 секунд (12.01.2012 - 18:39) Игорь_Vasinsky написал(а):
ohmy.gif действительно... ! - спасает

Спустя 47 минут, 3 секунды (12.01.2012 - 19:26) YVSIK написал(а):
Цитата (Winston @ 12.01.2012 - 18:28)

Значит напиши так
$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : 'dafaultPage.html';

где это добавить пока не сообразил, в каком файле или месте
и тут что прописать ? dafaultPage.html ну какой адрес
этой-же страницы нет Page.html

Спустя 18 минут, 25 секунд (12.01.2012 - 19:45) Игорь_Vasinsky написал(а):
у меня эта строка основная в varibles.php

вместо этого файла - укажи значение которое ведёт на главную страницу.

Спустя 2 часа, 13 минут, 3 секунды (12.01.2012 - 21:58) Winston написал(а):
Цитата (YVSIK @ 12.01.2012 - 18:26)
где это добавить пока не сообразил, в каком файле или месте

Если у тебя все идет через одну точку входа (index.php) то можешь в его начале прописать.
Цитата (YVSIK @ 12.01.2012 - 18:26)
и тут что прописать ? dafaultPage.html ну какой адрес

Запись

$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : 'dafaultPage.html';
include $_GET['page'];

Можно записать так
if(!empty($_GET['page']))
include $_GET['page'] . '.tpl'; // если есть имя страницы в $_GET['page'] значит подключаем этот файл по имени из $_GET
else // Если GET пустой, подключаем страницу по умолчанию
include 'dafault.html';

Спустя 2 минуты, 12 секунд (12.01.2012 - 22:00) Игорь_Vasinsky написал(а):
я не помню - был ли холивар по switch->case VS if-else? что быстрее?

Спустя 1 час, 14 минут, 39 секунд (12.01.2012 - 23:15) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 12.01.2012 - 21:00)
я не помню - был ли холивар по switch->case VS if-else? что быстрее?

Не тот случай, где об этом имеет смысл задумываться smile.gif
Я вообще предпочитаю роутер делать через массив.

Спустя 4 минуты, 2 секунды (12.01.2012 - 23:19) Игорь_Vasinsky написал(а):
а я свитчем делаю.

Спустя 4 минуты, 41 секунда (12.01.2012 - 23:23) YVSIK написал(а):
ладно, пока посижу в голове все смешалось с этим доменом, полная путаница, сбился ничего не соображу

Спустя 20 часов, 43 минуты, 3 секунды (13.01.2012 - 20:06) YVSIK написал(а):
Winston вот всё что ты дал вполне получилось !! я рад,
если в гете нет указанно странцы выводит первую (пока разобрался что надо дописать :o на месте дефолта :lol: )
результат такой нотисов нет но свич не хочет принимать это значения,
пока не понял как его и свичу сказать, что надо (как у меня по номерам в свие)
сказать чтоб он поцепил тот-же номер, что и по дефолту
конец свича

/**    
* Подключаем страницу по умолчанию
*/

default:
include './modules/put_ titles/put_ titles.php';
include './skins/second/home.tpl';
break;
}


Спустя 29 минут, 45 секунд (13.01.2012 - 20:36) Winston написал(а):
Покажи полный код.

Спустя 32 минуты, 48 секунд (13.01.2012 - 21:09) YVSIK написал(а):
это пока перход на контроллер, там пока ничего , только для настройки что было видно нс странице куда выходит путь
include './modules/put_ titles/put_ titles.php'; 

что выше
index.php
Свернутый текст
<?php session_start();
/**
*Устанавливаем кодировкупо умолчанию!
**/

header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL); ///Уровень ошибок


/**
* Конфигурационный файл
*/

include './config.php';
/**
* Получаем файл переменных
*/

include './variables.php';
/**
* Файл общих функций
**/

include './func/default.php';
/**
* Вывод Названий страниц
*/

include './modules/titles/s_router.php';
/**
* Складывам в буфер весь контент
*/

/*
* Меню **********************************************
*/

ob_start();
// авторизация
include '/menu/router.php';
$auth = ob_get_contents();
ob_end_clean();
// меню
ob_start();
include '/skins/menu/global.tpl';
$menu = ob_get_contents();
ob_end_clean();
/**
*Переключатель страниц ********************************
**/

ob_start();
switch($page)
{
/**
* Подключаем страницу Главная ..................1*/

case '1':
include './modules/put_ titles/put_ titles.php';
include './skins/page/home.tpl';
break;
/**
* Подключаем страницу Предприятий................2*/

case '2':
include './modules/put_ titles/put_ titles.php';
include './skins/page/enterprise.tpl';
break;
/**
* Подключаем страницу Агетства...................3*/

case '3':
include './modules/put_ titles/put_ titles.php';
include './skins/page/agency.tpl';
break;
/**
* Подключаем страницу резуме(Вакансии) .................4*/

case '4':
include './modules/put_ titles/put_ titles.php';
include './skins/page/summary.tpl ';
break;
/**
* Подключаем страницу Законы..............5*/

case '5':
include './modules/put_ titles/put_ titles.php';
include './skins/page/law.tpl';
break;
/** /skins/second/enterpriset.tpl
* Подключаем страницу Поиск...................6*/

case '6':
include './modules/put_ titles/put_ titles.php';
include './skins/page/search.tpl';
break;
/**
* Подключаем страницу по умолчанию
*/

default:
include './modules/put_ titles/put_ titles.php';
include './skins/second/home.tpl';
break;
}
$content = ob_get_contents();
ob_end_clean();
/**
* Подключаем главный шаблон
**/

include './skins/index.tpl';

variables.php
Свернутый текст
<?php 
/*$menu = !empty($_POST['menu'])? $_POST['menu'] : NULL;*///меню переменая!!

$page = !empty($_GET['page'])? $_GET['page'] : NULL;//переключатель страниц

$two = !empty($_POST['two']) ? $_POST['two'] : NULL;//для выбраного значения!
$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : '4';
$login = !empty($_GET['login'])? $_GET['login'] : NULL;//


config.php
Свернутый текст
?php // подключение к базе
define("HOST","localhost"); //Хост, на котором располохена база данных
define("USER","y"); //Логин для авторизации на сервере баз данных
define("PASS","y"); //Пароль для авторизации на сервере баз данных
define("DB","gavan"); //Имя базы

$db = mysql_connect(HOST,USER,PASS) or die (mysql_error( 'ругаемся' ));
// Выбираем базу данных
mysql_select_db(DB, $db);
//Выбираем кодировку для всего всайта
mysql_query ("SET NAMES utf8");
/**
*Список установленных костант
*/

//для выборки из базы
define("HOME","home"); // 1 главная страница
define("ENTERPRISET","enterpriset"); // 2 ст. вывода предприятий
define("AGENCY","agency"); // 3 ст. вывода агентств
define("SUMMARY","summary"); // 4 ст. резюме(физ.лица)
define("LAW","law"); // 5 ст. законов
define("SEFRCH","search"); // 6 СТ. поиска
define("AUTHORIZES","authorizes"); // 7 ст. регистрации
define("PERSONAL","personal"); // 10 ст. личный КАБИНЕТ
define("TREN","tren"); // 11 для поготовки новых Ст.

define('RYYT', dirname(__FILE__).'/'); // будет хранится абсолютный путь к корню сайта

а это котроллер с массивом где берем из базы названия и прочую игфу
это NULL =>ENTERPRISET, добавлено после этих плясок с бубном
controller.php
Свернутый текст

<?php 
// это сответствие названия страниц (массив)
$hame_p = array ( NULL =>ENTERPRISET,
1 =>HOME,
2 =>ENTERPRISET,
3 =>AGENCY,
4 =>SUMMARY,
5 =>LAW,
6 =>SEFRCH,
7 =>AUTHORIZES,
8 =>ENTERPRISET,
9 =>ENTERPRISET,
10 =>PERSONAL,
11 =>TREN
);
$name = $_GET['page']; // берем из урла № страницы!

Спустя 7 минут, 4 секунды (13.01.2012 - 21:16) Winston написал(а):
Цитата (YVSIK @ 13.01.2012 - 20:09)
$page = !empty($_GET['page'])?    $_GET['page']  :  NULL;//переключатель страниц

Напиши
$page = !empty($_GET['page'])?    $_GET['page']   :  0;

В таком случае, если у тебя $_GET['page'] будет пустой, то подставится 0, а т.к. 0 нету в условии switch case то будет загружена страница по умолчанию
default:
include './modules/put_ titles/put_ titles.php';
include './skins/second/home.tpl';
break;

Спустя 3 часа, 9 минут, 15 секунд (14.01.2012 - 00:25) YVSIK написал(а):
Winston тебе с благодарностью !!
все решилось с твоей помощью !! ОО
все прозаически просто
так как указал тут номер страницы 4
$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : '4';

ну и здесь надо было тож продублировать!! так же
$page = !empty($_GET['page'])?    $_GET['page']   :  4;//переключатель страниц 

н ну вообщем по дефолту выставлять в обоих местах одно и тоже !
ваУ ну как когда решение есть как все этож дается !! )
user posted image

Спустя 5 минут, 11 секунд (14.01.2012 - 00:30) Winston написал(а):
Непонятно, зачем ты написал эти 2 строки? Первая строка вообще не нужна, просто удали её и оставь только вторую.

Спустя 5 минут, 24 секунды (14.01.2012 - 00:36) YVSIK написал(а):
это уже тонкости ;)
:D
все не верно, у меня идет же формирование номера из массива
так что очень нужна, еслиб все было напрямую как в учебние то и вопросов небылоб :)
это самая нужная строчка в перменных Гы))
$_GET['page'] = !empty($_GET['page']) ? $_GET['page'] : '4';


Спустя 14 часов, 44 минуты, 37 секунд (14.01.2012 - 15:20) YVSIK написал(а):
Ну вот )) smile.gif ((стало что-то проявляться А то застопрился на месте и не гы-гы с места какая-т пробуксовка и в голову ни что не идет
yvsik.16mb.com

а что до этой темы То вот и так
/yvsik.16mb.com/index.php?page=1
и так
/yvsik.16mb.com/index.php
и даже так
/yvsik.16mb.com
работает cool.gif smile.gif оО) как могу dry.gif теперь dry.gif

Спустя 3 часа, 55 минут, 16 секунд (14.01.2012 - 19:16) Winston написал(а):
http://yvsik.16mb.com/index.php?page=8
Так и до PHP инъекции не далеко.

Спустя 16 минут, 23 секунды (14.01.2012 - 19:32) YVSIK написал(а):
что подскажешь? как избежать )
пока привожу в порядок чтоб двигаться дальше,пока подумаю как этого избежать , что приходило в голову ,это надо поставить какое-нибудь условие что-бы при подобном урле перебрасывало на Страницу ошибок, они там сервере конечно есть, только пока не доделал, да и не думал пока об этом, ты показал правильно направление, принимаю твоё замечание!))

Спустя 32 минуты, 23 секунды (14.01.2012 - 20:04) killer8080 написал(а):
YVSIK
ну по крайней мере XSS у тебя точно есть. Смотри wink.gif

Спустя 1 минута, 42 секунды (14.01.2012 - 20:06) Winston написал(а):
Цитата (YVSIK @ 14.01.2012 - 18:32)
что подскажешь? как избежать )

Хм.. у тебя стоит переключатель страниц, и если с адресной строки ты принимаешь номер страницы который не прописан в условии case то тебе по дефолту должно выполняться это
default:
include './modules/put_ titles/put_ titles.php';
include './skins/second/home.tpl';
break;

Что-то ты нахимичил...

Спустя 5 часов, 47 минут, 8 секунд (15.01.2012 - 01:53) YVSIK написал(а):
Цитата
Что-то ты нахимичил...
а как тут без химии? ;)
так было
 include './skins/second/home.tpl';

так стало
include './skins/page/home.tpl';

надо найти только десять отличий если конешен вы найдете! :lol:
глаз намылился этот путь остался от старой версии
ребят ну бывает же согласитесь ) за участие спасибо!! причем обоим
Winston ;)
killer8080 ;)
там же было написано, Причем всегда, неверен путь, нет=надо тупиться и ночь не спать , все время думать, думать , перебирать=перебирать , зачем искать простые пути (как у меня например) нормальные герои всегда идут в обход


--------------------
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса