Форум сетевых администраторов
Показаны 6 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- link (вопрос от новичка) (http://netadmin.ws/forum/showthread.php?threadid=8269)


Помещено MLSIL 25-03-2004 в 12:23:

link (вопрос от новичка)

хоть и времини совсем нет, но всё равно потянуло на изучение php, знаю что спецав в этом пока не буду, но уже смог написать маленький скрипт что ли...
если есть ошибки, подскажите плиз... а то вроде как не как навечОк...
скрипт:
<?php
$url = "";
if ($link == 1) { $url = "1.***"; }
if ($link == 2) { $url = "2.***"; }
if ($link == 3) { $url = "3.***"; }
if ($link == 4) { $url = "4.***"; }
if ($url == "") { $url = "error.***"; }
INCLUDE ($url);
?>


теперь собственно вопрос:
для чего такое дело надо? то что в строке можно будет писать
"_http://geo-forum.com/index.php?link=1" и меня будет переноправлять по запросу, это ясно, но для чего? из мер бузопастности или как?
да и ещё, файлы (где формат обозначет ***) можно сохранять под любыми форматами? или только php3\php\phtml

ПС если кто знает какое самое главное отличия phtml от родствеников то напишите, а то у меня есть предположения но я очень в нём сомневаюсь.

и ещё, как отправеть данные какой либо формы без регист глобал... а то мой хост отключил это...


Помещено he][es 25-03-2004 в 12:39:


PHP:

<?php
if (isset($_GET['link'])) {
$link = (int) $_GET['link'];
}
if (
$link == 1) { $url = "1.***"; }
if (
$link == 2) { $url = "2.***"; }
if (
$link == 3) { $url = "3.***"; }
if (
$link == 4) { $url = "4.***"; }
if (
$url == "") { $url = "error.***"; }
INCLUDE (
$url);
?>


И таким же макаром ты получаешь инф-ию из форм.
Но это не есть "перенаправление" это ты подгрузишь файл. Что бы перенаправить пиши

PHP:

header
("Location: file_url_here.php");

__________________
Админ - вождь Апачей...


Помещено MLSIL 26-03-2004 в 05:15:

he][es
тоесть с формами всегда перед кодом мне надо писать так:
if (isset($_GET['link'])) {
$link = (int) $_GET['link'];
}

и тогда с регист глобал проблем не будет так?

а этот header как написать что бы переноправляла? тоесть как написать в таком файле:
if ($link == 1) { $url = "1.***"; }
if ($link == 2) { $url = "2.***"; }
if ($link == 3) { $url = "3.***"; }
if ($link == 4) { $url = "4.***"; }
if ($url == "") { $url = "error.***"; }
INCLUDE ($url);
?>

можеш дать маленький пример пожалуйста?


Помещено he][es 26-03-2004 в 16:40:

MLSIL да ты считываешь переменную... а заодно проверяешь получил ли её вообще...

PHP:


<?php
if (isset($_GET['link'])) {
$link = (int) $_GET['link'];
}
if (
$link == 1) { header("Location: file_url_here1.php"); }
elseif (
$link == 2) { header("Location: file_url_here2.php"); }
elseif (
$link == 3) { header("Location: file_url_here3.php"); }
elseif (
$link == 4) { header("Location: file_url_here4.php"); }
else { print 
"Глюк... незнаю чё грузить..."; }
?>

__________________
Админ - вождь Апачей...


Помещено MLSIL 27-03-2004 в 08:41:

he][es
спасибо.


Помещено ulfr 06-04-2004 в 18:59:

для таких случаев лучше не множественная if/elseif, проще свич

if (isset($_GET['link'])) {
$link = (int) $_GET['link'];
}

switch ($link) {
case 1:
header("Location: url_to_somewhere_1");
break;
case 2:
header("Location: url_to_somewhere_2");
break;
case 3:
header("Location: url_to_somewhere_3");
break;
default:
echo "Глюк... незнаю чё грузить..."
break;
}

или можно вытягивать из массива

$allowed_links = array ('1','2', ..'n');

if (in_array($_GET['link'], $allowed_links)) {
header("Location: url_".$_GET['link']);
}else{
echo "Глюк... незнаю чё грузить..."
}

если входящие значения численные то проще пареной репы

$silly_links = array ('link1','link2', ..'linkN');
header("Location: url_".$silly_links[$_GET['link']]);

но лучше все проверять и вообще....

$silly_links = array ('ident1' => 'link1','ident2' => 'link2');

if (isset($silly_links[$_GET['link']])) {
header("Location: url_".$silly_links[$_GET['link']]);
} else {
echo "Глюк... незнаю чё грузить..."
}

php, phtml, php3 и прочие настраиваются хитасисом и хэтэпэдэконфом

должны быть строки

AddType application/x-httpd-php .php .php3 .phtml

говорящие что фалы с такими расширениями обрабатываются интерпритатором ПХП


Формат времени GMT. Текущее время 12:21.
Показаны 6 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.