Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2010, 23:03   #1
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию Неправильный ввод в адресной строке браузера

У меня есть пункт меню который ссылается на страницу http://sitik.ru/videolessons/1.php?page=1
Скажите как сделать,чтоб если пользователь неправильно ввёл ссылку в браузере его пренаправило на страницу http://sitik.ru/videolessons/1.php?page=1
У меня в коде есть такая проверка.
Код:
if(empty($page)){
die('<p style="color:red; font-size:24px;">Ошибка! Неверный URL адресс!</p>');
}
но это выводит текст ошибки, а мне нужно чтоб не выводило текст ошибки, а чтоб переадресовывало на страницу именно:
http://sitik.ru/videolessons/1.php?page=1
если не правильно набрана ссылка в браузере.
Пробую так:


Код:
<?php
$page = $_GET['page'];
if(empty($page)){
$URL='../videolessons/1.php?page'> 
header("Location:$URL"); 
exit(); 
}
Выдаёт ошибку что не определённая переменная.Как правильно написать?
Notice: Undefined variable: URL in z:\home\sitik.ru\www\blocks\kontent .php on line 14
[Денвер: показать возможную причину ошибки]
Warning: Cannot modify header information - headers already sent by (output started at z:\home\sitik.ru\www\videolessons\1 .php:16) in z:\home\sitik.ru\www\blocks\kontent .php on line 14
Kapitann вне форума Ответить с цитированием
Старый 27.09.2010, 00:23   #2
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию

Вот так вроде сработало.
Код:
@$page = $_GET['page'];
if(empty($page)){
$page = 1;
Ещё вопрос, как написать, просто когда пользователь вводит в адресной строке:

http://sitik.ru/papka/

он попадает каталог файлов, как сделать чтоб не попадал, не могу понять как написать,чтоб перебросило его на /videolessons/1.php?page=1'>
Kapitann вне форума Ответить с цитированием
Старый 27.09.2010, 01:13   #3
Kapitann
Заблокирован
 
Регистрация: 26.07.2010
Сообщений: 160
По умолчанию

Как сделать пере направление с каталога на страницу, чтоб пользователь не попадал на каталог мой,не получается.
Я имею ввиду чтоб не попадал на http://sitik.ru/videolessons
а попадал на http://sitik.ru/videolessons/1.php?page=1
Kapitann вне форума Ответить с цитированием
Старый 02.10.2010, 22:13   #4
arvitaly
Пользователь
 
Аватар для arvitaly
 
Регистрация: 01.08.2010
Сообщений: 51
По умолчанию

Тут несколько вариантов
Во первых просмотр папок лучше запретить Options -Indexes
Во вторых можно создать в папке videolessons - index.php и в нем

<?php
header("Location: /videolessons/1.php?page=1");
?>
или просто инклудом подгрузить то что нужно

В-третьих можно в htaccess

RewriteEngine On
RewriteRule videolessons/ /videolessons/1.php?page=1 [L]
arvitaly вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mod_rewrite (заменить домен в адресной строке) Maxx PHP 4 19.05.2014 19:11
Перестали подставлятся автоматически ссылки в адресной строке браузера Golovastik Софт 4 07.07.2010 20:16
Индикаторы в адресной строке Phantom JavaScript, Ajax 4 02.03.2010 12:13
Как бороться со адресной строкой браузера? AgentVlad PHP 12 28.01.2009 20:20
Перехват адресной строки браузера Garacio_cain Работа с сетью в Delphi 4 23.10.2008 13:48