[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переход по ссылке методом GET
romantik2011
Написал сам код, проблема в меню, получается переход на ссылку
http://test.ru/index.php/index.php/index.php?id=page1
вместо указанной мною в коде http://test.ru/index.php/?id=page1

Подскажите, где не так? Архив вложил, вот его главный файл и файл меню.
index.php

<?php include 'menu.php';?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Основы блочной верстки (Div верстки)</title>
<link
rel="stylesheet" type="text/css" href="/style.css" />
</head>
<body>
<div
id="wrapper">
<div
id="header"><span style="font-size:34px;">Сайт</span></div>

<div
id="left">
<h2
style="border-bottom:1px solid black;">Menu</h2>
<?
getMenu($menu);?>
</div>


<div
id="right"><h2 style="border-bottom:1px solid black;">Menu</h2>
<?
getMenu($menu);?>
</div>
<div
id="kontent">
<?php

$id = (isset($_GET['$id']))?$_GET['$id']:include 'home.php';
switch($id){
case 'page1': include 'page1.php'; break;
case 'page2': include 'page2.php'; break;
case 'page3': include 'page3.php'; break;
}
?>
</div>
<div
id="footer">Copyright © Филип Киркоров <? echo date('Y'); ?></div>

</div>
</body>
</html>



menu.php

<?php
$menu = array(
'Page1' => 'index.php?id=page1',
'Page2' => 'index.php?id=page2',
'Page3' => 'index.php?id=page3'
);


function getMenu($masiv){
echo '<ul>';
foreach($masiv as $href=>$value){
echo "<li><a href=\"$value\">$href</a></li>";
}
echo '</ul>';
}

?>




Спустя 7 минут, 59 секунд (6.09.2011 - 18:32) Winston написал(а):
А если menu.php так переписать
Свернутый текст
<?php
$menu = array(
'Page1' => '?id=page1',
'Page2' => '?id=page2',
'Page3' => '?id=page3'
);


function getMenu($masiv){
echo '<ul>';
foreach($masiv as $href=>$value){
echo "<li><a href=\"http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "$value\">$href</a></li>";
}
echo '</ul>';
}



?>

Спустя 3 минуты, 33 секунды (6.09.2011 - 18:36) Winston написал(а):
Цитата (romantik2011 @ 6.09.2011 - 18:24)
$id = (isset($_GET['$id']))?$_GET['$id']:include 'home.php';

Правильно будет так
$id = (isset($_GET['id']))?$_GET['id']:include 'home.php';

Спустя 20 минут, 29 секунд (6.09.2011 - 18:56) romantik2011 написал(а):
Thank you.
Скажите, а вот это : $_SERVER['HTTP_HOST'] Это чтоб не писать в массиве index.php, а написать ?id=page1, а не полностью index.php?id=page1 ???

Спустя 3 минуты, 15 секунд (6.09.2011 - 19:00) Winston написал(а):
Цитата (romantik2011 @ 6.09.2011 - 18:56)
Скажите, а вот это : $_SERVER['HTTP_HOST']

Нет. В этом элементе хранится имя хоста. Я думаю здесь все прояснится. А PHP_SELF это, чтобы не писать index.php.



Спустя 1 минута, 45 секунд Winston написал(а):
Цитата (Winston @ 6.09.2011 - 18:32)
<a href=\"http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "$value\">$href</a>

Я прописал абсолютные ссылки.
То есть у тебя на сервере уже будут сформированы абс. ссылки, а не браузер будет их подставлять.

Спустя 13 минут, 28 секунд (6.09.2011 - 19:13) romantik2011 написал(а):
Кстати без PHP_SELF сработало тоже.
function getMenu($masiv){
echo '<ul>';
foreach($masiv as $href=>$value){
echo "<li><a href=\"http://" . $_SERVER['HTTP_HOST'] . "$value\">$href</a></li>";
}
echo '</ul>';
}



Спустя 3 минуты, 23 секунды (6.09.2011 - 19:16) Winston написал(а):
Цитата (romantik2011 @ 6.09.2011 - 19:13)
Кстати без PHP_SELF сработало тоже

Конечно сработает smile.gif Если это индексный файл, а если нет, то придется его прописывать или использовать PHP_SELF

Спустя 37 минут, 54 секунды (6.09.2011 - 19:54) Winston написал(а):
И вообще, вывод в ф-и это плохо.
Лучше так перепиши
function getMenu($masiv)
{
$html = '<ul>';
foreach($masiv AS $href => $value)
$html .= "<li><a href=\"$value\">$href</a></li>";

return $html .= '</ul>';
}


И вывод меню
<?php echo getMenu($menu);?>
Быстрый ответ:

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