[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема ссылок
Stas
требуется скрипт чтоб ссылки прятались при переходе на страницу что их не могли другие разместить у себя на сайте
допустем не http://test1.ru/company.php а http://test1.ru/?с что то вроде этого



Спустя 2 минуты, 48 секунд (8.07.2011 - 17:14) Winston написал(а):

 ! 

М
Выбирайте подходящие разделы для своих тем !
PHPprogramer

Спустя 17 минут, 47 секунд (8.07.2011 - 17:32) Stas написал(а):
Цитата (PHPprogramer @ 8.07.2011 - 14:14)
[MOD]Выбирайте подходящие разделы для своих тем !PHPprogramer[/EX]

в смысле какие разделы

Спустя 4 минуты, 9 секунд (8.07.2011 - 17:36) bulgakov написал(а):
В смысле это раздел для начинающих, тут новички публикуют свой код и мы им помогаем, а где ваш пример решения? Ваша тема больше подходит в раздел - Проекты.

Спустя 3 минуты, 45 секунд (8.07.2011 - 17:40) Stas написал(а):
согласен код имеется
<?
switch ($_GET['c']) {
case '1':
require_once 'news.php';
break; case '2':
require_once 'photos.php';
break;
default:
require_once 'index.php';
break;
}
?>


<a href="?c=0">Главная</a>
<a
href="?c=1">Новости</a>
<a
href="?c=2">Фотки</a>

но подгружает страницу а не переходит на нее

Спустя 7 минут, 7 секунд (8.07.2011 - 17:47) bulgakov написал(а):
Может так?

<?
switch ($_GET['c']) {
case '1':
header("Location: news.php");
break; case '2':
header("Location: photos.php");
break;
default:
header("Location: index.php");
break;
}
?>




Спустя 1 минута, 50 секунд bulgakov написал(а):
Только до этого блока кода до вызовов header не должно быть никакого вывода по типу - кода html, вызовов echo, а так же перед открывающим дескриптором <?php не должно стоять никаких символов включая пробельных.

Спустя 5 минут, 2 секунды (8.07.2011 - 17:52) fire написал(а):
Копайте в сторону мод реврайт, сделаете с урлами все что захочите, в интернетах полно информации по этому поводу, если действительно нужно спроси у гугла что такое mod rewrite и как им пользоваться.

Спустя 42 секунды (8.07.2011 - 17:53) Stas написал(а):
ну он работает так
http://test1.ru/company.php?c=2
путь показывает и выдает
 


Warning: Cannot modify header information - headers already sent by (output started at Y:\home\test1.ru\www\company.php:3) in Y:\home\test1.ru\www\modules\header_menu.php on line 5

Спустя 2 минуты, 19 секунд (8.07.2011 - 17:55) Invis1ble написал(а):
тебе только что написали, что вывода не должно быть до отправки заголовков

Спустя 3 минуты (8.07.2011 - 17:58) bulgakov написал(а):
Stas
Это как раз то о чем я говорил, никаких echo и никакого html до блока php не должно быть внимательно проверь код, попробуй поставить этот кусок в самом начале скрипта

Спустя 30 секунд (8.07.2011 - 17:58) Stas написал(а):
тоесть мне надо

<?
switch ($_GET['c']) { case '1':
header("Location: news.php");
break;
case '2':
header("Location: photos.php");
break;
default:header("Location: index.php");
break;
}
?>

поставить на странице первым скриптом
могу ли я его поставить в config.php там первым
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
meta http-equiv="content-type" content="text/html; charset=UTF-8">
<?php include("config.php"); ?>
<title><?php echo $title_index; ?></title>
<
html><head>
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/style.css">
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/menu_header.css">
<
META name="keywords" Content="<?php echo $keywords_index ?>">
<
META name="description" Content="<?php echo $description_index ?>">
</
head>
<
body>
</
body>
</
html>

Спустя 1 минута, 19 секунд (8.07.2011 - 18:00) Invis1ble написал(а):
то есть тебе надо исключить любой вывод до отправки заголовков, как ты это будешь делать - зависит от логики приложения в целом и от твоей фантазии

Спустя 2 минуты, 34 секунды (8.07.2011 - 18:02) bulgakov написал(а):
Stas
Да, только не используй короткие дескрипторы
<? // код php
?>

используй -
<?php //код php
?>




Спустя 1 минута, 16 секунд bulgakov написал(а):
Примерно так.

<?php include("config.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title><?php
echo $title_index; ?></title>
<html><head>
<LINK
REL=STYLESHEET TYPE="text/css"HREF="css/style.css">
<LINK
REL=STYLESHEET TYPE="text/css"HREF="css/menu_header.css">
<META
name="keywords" Content="<?php echo $keywords_index ?>">
<META
name="description" Content="<?php echo $description_index ?>">
</head>
<body>
</body>
</html>


Спустя 3 минуты, 8 секунд (8.07.2011 - 18:05) Stas написал(а):
<?php
switch ($_GET['c']) { case '1':
header("Location: company.php");
break;
case '2':
header("Location: company.php");
break;
default:
header("Location: index.php");
break;
}
?>

стоит в конфиге
Warning: Cannot modify header information - headers already sent by (output started at Y:\home\test1.ru\www\company.php:3) in Y:\home\test1.ru\www\config.php on line 6




Спустя 2 минуты, 22 секунды Stas написал(а):
Warning: Cannot modify header information - headers already sent by (output started at Y:\home\test1.ru\www\index.php:1) in Y:\home\test1.ru\www\config.php on line 6

 <?php include("config.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
meta http-equiv="content-type" content="text/html; charset=UTF-8">
<
title><?php echo $title_index; ?></title>
<
html><head>
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/style.css">
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/menu_header.css">
<
META name="keywords" Content="<?php echo $keywords_index ?>">
<
META name="description" Content="<?php echo $description_index ?>">
</
head>
<
body></body>
</
html>

ну вот конфиг

<?php
switch ($_GET['c']) { case '1':
header("Location: company.php");
break;
case '2':
header("Location: company.php");
break;
default:
header("Location: index.php");
break;
}
?>


<?php
$title_index = ' Главная';
$title_company = 'О компании';
?>

Спустя 2 минуты, 36 секунд (8.07.2011 - 18:08) Invis1ble написал(а):
Цитата
output started at Y:\home\test1.ru\www\company.php:3


Спустя 23 секунды (8.07.2011 - 18:08) bulgakov написал(а):
Еще раз повторяю, до header не должно быть никакого вывода! Ни php ни html никаких доктайпов никаких пробелов, энтеров и табуляций!



Спустя 51 секунда bulgakov написал(а):

<?php include("config.php"); ?>

В этой строке у вас перед <?php не стоит случаем пробел? проверьте.

Спустя 1 минута, 4 секунды (8.07.2011 - 18:09) Invis1ble написал(а):
там пробел стоит

Спустя 1 минута, 35 секунд (8.07.2011 - 18:11) Stas написал(а):
да нет пробела

Спустя 3 минуты, 12 секунд (8.07.2011 - 18:14) bulgakov написал(а):
А попробуйте запустить в браузере сам конфиг и посмотрите что он выведет.



Спустя 1 минута, 53 секунды bulgakov написал(а):
Или же попробуйте подправить конфиг:

<?php
if($_SERVER['HTTP_REQUEST']=='GET'){
switch ($_GET['c']) { case '1':
header("Location: company.php");
break;
case '2':
header("Location: company.php");
break;
}
}

?>

Спустя 7 минут (8.07.2011 - 18:21) Stas написал(а):
спосибо
http://test1.ru/?c=0
все работает

Спустя 1 минута, 19 секунд (8.07.2011 - 18:23) bulgakov написал(а):
Stas
Ну хорошо) А то я уже начал беспокоиться в своем понимании работы header() )))

Спустя 3 минуты, 12 секунд (8.07.2011 - 18:26) Winston написал(а):
Цитата (Stas @ 8.07.2011 - 17:32)
в смысле какие разделы

Вы сначала создали эту тему в разделе "Бесплатные Курсы PHP программирования онлайн"
По вашему это нормально ?

Спустя 6 минут, 8 секунд (8.07.2011 - 18:32) Stas написал(а):
<?php if($_SERVER['HTTP_REQUEST']=='GET'){
switch ($_GET['c'])
{ case '1':
header("Location: company.php");
break;
case '2':
header("Location: contact.php");
break;
case '3':
header("Location: index.php");
break;
}
}

?>


$title_index = 'Главная';
$title_company = 'О компании';
?>

в конфиге
<div id="hmenu">
<
a href="?c=0"><span>|Главная|</span></a>    
<a href="?c=1"><span>|О компании|</span></a>    
<a href="?c=2"><span>|Контакты|</span></a>    
<a href="?c=3"><span>|Наши работы|</span></a>    

</div>

в include/menu.php
<?php include("config.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
meta http-equiv="content-type" content="text/html; charset=UTF-8">
<
title><?php echo $title_index; ?></title>
<
html><head>
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/style.css">
<
LINK REL=STYLESHEET TYPE="text/css"HREF="css/menu_header.css">
<
META name="keywords" Content="<?php echo $keywords_index ?>">
<
META name="description" Content="<?php echo $description_index ?>">
</
head>
<
body>
</
body>
</
html>

index.php
ссылки работают но перехода по ссылкам нет

Спустя 1 минута, 24 секунды (8.07.2011 - 18:33) Stas написал(а):
может есть чтонибудь по проще поставить ohmy.gif

Спустя 9 минут, 32 секунды (8.07.2011 - 18:43) bulgakov написал(а):

<a href="?c=0"><span>|Главная|</span></a> // a index.php кто писать будет?


<div id="hmenu">
<
a href="index.php?c=0"><span>|Главная|</span></a>
<
a href="index.php?c=1"><span>|О компании|</span></a>
<
a href="index.php?c=2"><span>|Контакты|</span></a>
<
a href="index.php?c=3"><span>|Наши работы|</span></a>


Спустя 4 минуты, 4 секунды (8.07.2011 - 18:47) Stas написал(а):
понятно но он ссылку показывает http://test1.ru/index.php?c=0
а надо http://test1.ru/?c=0

Спустя 13 минут, 52 секунды (8.07.2011 - 19:01) bulgakov написал(а):
вы не понимаете как работает GET запрос... сначала идет имя файла в данном случае index.php а затем через знак вопроса имя параметра и его значение, в данном случае у вас все ссылки будут вида http:test1.ru/index.php?c=1 не пойму смысл сокрытия индексного файла?

Спустя 1 минута, 53 секунды (8.07.2011 - 19:03) Stas написал(а):
наши ссылки капируют чтоб этого небыло решили зделать так

Спустя 2 минуты, 42 секунды (8.07.2011 - 19:05) bulgakov написал(а):
Так индексная страница в любом случае будет index.php.... а через нее просто делаете другие страницы сайта.

Спустя 1 минута, 36 секунд (8.07.2011 - 19:07) Stas написал(а):
вот у меня возник вопрос как это делать я просто денамически подключал страници

Спустя 12 часов, 9 минут, 18 секунд (9.07.2011 - 07:16) DeeKeiD написал(а):
Cсылка www.test1.ru/?page=test подключит модуль test.php

switch($_GET['page'])
{
case "test": include ('test.php'); break
default
: include ('main.php'); break;
}

Можно ещё mod_rewrite'ом спрятать ссылку

RewriteRule ^c1/?$ ?page=test [L,QSA]

Тогда она будет выглядеть так : www.test.ru/c1

Спустя 11 часов, 56 минут, 15 секунд (9.07.2011 - 19:12) Stas написал(а):
а без mod_rewrite
Быстрый ответ:

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