![]() |
Показаны 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)
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 от родствеников то напишите, а то у меня есть предположения но я очень в нём сомневаюсь.
и ещё, как отправеть данные какой либо формы без регист глобал...
а то мой хост отключил это...
<?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);
?>
header("Location: file_url_here.php");
__________________
Админ - вождь Апачей...
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);
?>
можеш дать маленький пример пожалуйста?
MLSIL да ты считываешь переменную... а заодно проверяешь получил ли её вообще...
<?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 "Глюк... незнаю чё грузить..."; }
?>
__________________
Админ - вождь Апачей...
he][es
спасибо.
для таких случаев лучше не множественная 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:37. | Показаны 6 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.