[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: многостраичность php
Djetxx
подскажите, пожалуйста :)очень новичек в пхп(дальше парсера не уходило)
как реализовать - index.php?id=1/2/3 не знаю как объяснить...при клике на одну из трех кнопок подгружается код нужный. в пределах индекса
через GET вообщем



Спустя 16 минут, 29 секунд (27.09.2011 - 20:42) Winston написал(а):
А причем здесь многопоточность ? :huh:
Это имеешь ввиду 7
Свернутый текст
switch($_GET['id'])
{
case 1:
include '1.php';
break;
case 2:
include '2.php';
break;
case 3:
include '2.php';
break;
case 4:
include '4.php';
break;
default:
echo 'Значение ID пустое !';
break;
}

Спустя 15 минут, 37 секунд (27.09.2011 - 20:58) inpost написал(а):
include $_GET['id'].'.php';

Спустя 8 минут, 44 секунды (27.09.2011 - 21:06) Djetxx написал(а):
спасибо smile.gif

Спустя 5 минут, 34 секунды (27.09.2011 - 21:12) fire написал(а):
inpost, и в итоге получаем инькцию smile.gif

Спустя 1 минута, 18 секунд (27.09.2011 - 21:13) Игорь_Vasinsky написал(а):
Цитата
inpost, и в итоге получаем инькцию

аха в switch. сервер - упал от смеха.

Спустя 6 минут, 18 секунд (27.09.2011 - 21:20) killer8080 написал(а):
Цитата (inpost @ 27.09.2011 - 20:58)
include $_GET['id'].'.php';

не показывай дурной пример

Спустя 1 час, 8 минут, 18 секунд (27.09.2011 - 22:28) Djetxx написал(а):
не показывай дурной пример

а это почему? какой пример лучше использовать ? инъекции тоже не хочу

Спустя 11 минут, 24 секунды (27.09.2011 - 22:39) killer8080 написал(а):
Цитата (Djetxx @ 27.09.2011 - 22:28)
а это почему? какой пример лучше использовать ? инъекции тоже не хочу

То что показал инпост - это дырка в безопасности сайта, через неё можно проинклюдить любой php файл на сервере, доступный под текущими правами апача (если mod_php), а если включена директива allow_url_include, то вообще любой удалённый php скрипт. Последнее, правда у нормальных хостеров быть не может, но всё же.
Используй вариант Winston-а со свичем, главное что пользовательские данные не должны попадать в файловые пути.

Спустя 10 часов, 31 минута, 30 секунд (28.09.2011 - 09:11) Djetxx написал(а):
вот нашел вот такое -
if (isset($_GET['event'])) {


if ($_GET['event']=="add") {
код
}
это нормально ?

Спустя 18 минут, 23 секунды (28.09.2011 - 09:29) killer8080 написал(а):
Djetxx
А когда у тебя будет 20, 40 обработчиков, будешь писать конструкцию в 20, 40 if..elseif ?
Тут удобней либо свич, либо массив
$modules = array(
'add' => 'add.php',
'news' => 'news.php',
'reg' => 'registration.php'
);

if(!empty($_GET['event']) && isset($modules[$_GET['event']])){
include $modules[$_GET['event']];
}
else{
include 'default.php';
}

Спустя 46 минут, 12 секунд (28.09.2011 - 10:15) Djetxx написал(а):
спасибо smile.gif вечером попробую

Спустя 18 минут, 25 секунд (28.09.2011 - 10:34) Семён написал(а):
Он ему показал пример, а автор уже вправе включить голову и подумать, о том, что может произойти далее.

Спустя 3 часа, 54 секунды (28.09.2011 - 13:35) killer8080 написал(а):
Цитата (Семён @ 28.09.2011 - 10:34)
Он ему показал пример, а автор уже вправе включить голову и подумать, о том, что может произойти далее.

А зачем показывать то, что делать нельзя? wink.gif
Судя по вопросу автор - новичок, о таких тонкостях пока не догадывается, и совет от профи примет на веру.

Спустя 9 часов, 24 минуты, 4 секунды (28.09.2011 - 22:59) Djetxx написал(а):
а если через htaccess резать любые данные после id=n

Спустя 3 минуты, 45 секунд (28.09.2011 - 23:03) Winston написал(а):
Цитата (Djetxx @ 28.09.2011 - 22:59)
а если через htaccess резать любые данные после id=n

Зачем ?
Достаточно
echo (int)$_GET['id'];

Попробуй теперь в адресной строке написать
?index.php?id=balabol125 :)

Спустя 12 часов, 43 минуты, 25 секунд (29.09.2011 - 11:46) Djetxx написал(а):
немного разобрался...
<?php
$modules = array(
'1' => '1.php',

);


if(!empty($_GET['event']) && isset($modules[$_GET['event']])){
include $modules[$_GET['event']];
}
else{
include 'index.php';
}

?>

include 'index.php'; а как без этого написать, что если гета не существует, то просто перейти опять на index.php? не надож ее инклудить для этого саму в себя)

Кстати, подскажите еще... мне надо сделать сайт...там 10 кнопок...для каждой кнопки выдирается разная информация из бд...бд наполянется через парсер... может мне лучше поставить dle... подредактировать ему движок(благо там интуитивно) и все... а то с моим то знанием php... я даже за get запросами сюда полез... а тут еще и дизайн прикручивать и прочее :(

Спустя 13 минут, 43 секунды (29.09.2011 - 12:00) kovalevsky написал(а):
Цитата
include 'index.php'; а как без этого написать, что если гета не существует, то просто перейти опять на index.php? не надож ее инклудить для этого саму в себя)

Header("Location: index.php");

Спустя 48 минут, 34 секунды (29.09.2011 - 12:48) killer8080 написал(а):
Djetxx
зайди на irbis-team, почитай, сразу большая часть вопросов отпадёт сама собой. wink.gif

Спустя 1 час, 23 минуты, 32 секунды (29.09.2011 - 14:12) Djetxx написал(а):
спасибо, киллер...очень полезный ресурс, если можно еще несколько ссылок по такой же тематике smile.gif

Спустя 22 минуты, 50 секунд (29.09.2011 - 14:35) killer8080 написал(а):
Цитата (Djetxx @ 29.09.2011 - 14:12)
если можно еще несколько ссылок по такой же тематике

а что яндекс отменили?
Ну вот ещё сюда зайди smile.gif

Спустя 1 час, 19 минут, 25 секунд (29.09.2011 - 15:54) inpost написал(а):
Djetxx
irbis-school.com , только запустился сервис от irbis-team.com

Спустя 3 минуты, 31 секунда (29.09.2011 - 15:58) XCross написал(а):
Свернутый текст
А какой курс IRB к рублю? biggrin.gif

Спустя 18 минут, 55 секунд (29.09.2011 - 16:16) inpost написал(а):
kmaks
1=1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.