Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
1

Редирект switch

04.04.2016, 00:58. Просмотров 517. Ответов 21
Метки нет (Все метки)

имеется код,нужно что бы вместо include был редирект,не могу найти внятной команды,подскажите плз

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$connection = mysql_connect("localhost", "root", "");  
$db = mysql_select_db("mydb");
mysql_query("SET NAMES 'cp1251'");
if(!$connection || !$db)
{
exit(mysql_error());
}
 if(!empty ($_POST['password'])){
 $password = mysql_escape_string($_POST['password']);
 $result = mysql_query("SELECT `password`, `id` FROM `pass` WHERE `password` = '$password'");
 $row=mysql_fetch_row($result);
 
 $id=$row[1];
switch ($id) { 
case "1":
include ('1.php');
break;
case "2":
include ('2.php');
break;
case "3":
include ('3.php');
break;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 00:58
Ответы с готовыми решениями:

Редирект
Здравствуйте уважаемые форумчане, прошу не ругаться, ибо в php я дуб дубом, и...

Switch Case
Как сделать тоже самое что в етом коде только на switch, case ?...

php редирект
Добрый день, вот такой вопрос: авторизация построенна не на сессиях, как...

Редирект в htaccess
Помогите сделать редирект в htaccess с адреса...

Не работает редирект
Не срабатывает редирект. Помогите. .htacces: RewriteEngine on...

21
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 01:17 2
PHP
1
2
3
4
5
6
7
8
9
10
switch ($id) { 
case "1":
header('Location: 1.php');
exit();
case "2":
header('Location: 2.php');
exit();
case "3":
header('Location: 3.php');
exit();
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 01:20  [ТС] 3
Пробовал - сразу же выбивает ошибку Cannot modify header information - headers already sent by
P.S.это у меня в самом верху документа,мб как то влияет?
PHP
1
2
3
4
5
<?php define("IN", 1);
 
if(!defined("IN")) exit();
 
?>
0
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 01:23 4
Пишет, что заголовки уже отправлены, это значит что был какой-то вывод. Перед редиректом не должно быть никакого вывода.
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 01:26  [ТС] 5
Цитата Сообщение от sad67man Посмотреть сообщение
Пишет, что заголовки уже отправлены, это значит что пошел вывод. Перед редиректом не должно быть никакого вывода.
что здесь лишнее тогда?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php define("IN", 1);
 
if(!defined("IN")) exit();
 
?>
 
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CheapSteamGames</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
 
<link href="/css/templatemo_style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="/css/coda-slider1.css" type="text/css" charset="utf-8" />
 
<script>
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
    history.go(1);
};
 
</script>
 
</head>
<body>
 
<div id="slider">
    <div id="templatemo_header_wrapper">
        <div id="templatemo_header">
            <div id="header"><h1><a href="#">CheapSteamGames</a></h1></div>
        </div>
    </div>
    
    <div id="templatemo_main">
        
        
         <br> <br>
<form method="post">
<input type="text" name="password" value="Enter password"/><br>
<input type="submit" value="Click">
</form> 
                        
<?php
$connection = mysql_connect("localhost", "root", "");  
$db = mysql_select_db("mydb");
mysql_query("SET NAMES 'cp1251'");
if(!$connection || !$db)
{
exit(mysql_error());
}
 if(!empty ($_POST['password'])){
 $password = mysql_escape_string($_POST['password']);
 $result = mysql_query("SELECT `password`, `id` FROM `pass` WHERE `password` = '$password'");
 $row=mysql_fetch_row($result);
 
 $id=$row[1];
switch ($id) { 
case "1":
header('Location: 1.php');
exit();
case "2":
header('Location: 2.php');
exit();
case "3":
header('Location: 3.php');
exit();
0
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 01:28 6
http://php.net/manual/ru/function.header.php

php код должен быть в самом верху, причему перед <?php ни должно быть никаких пробелов и переносов строк. Дело в том, что сначала передаются заголовки, а потом html код. Если есть хотя бы один пробел перед php кодом, то это уже является выводом, и заголовки улетают.
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 01:37  [ТС] 7
Цитата Сообщение от sad67man Посмотреть сообщение
http://php.net/manual/ru/function.header.php
php код должен быть в самом верху, причему перед <?php ни должно быть никаких пробелов и переносов строк. Дело в том, что сначала передаются заголовки, а потом html код. Если есть хотя бы один пробел перед php кодом, то это уже является выводом, и заголовки улетают.
Последний раз редактировалось sad67man; Сегодня в 02:31.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php define("IN", 1);
if(!defined("IN")) exit();
$connection = mysql_connect("localhost", "root", "");  
$db = mysql_select_db("mydb");
mysql_query("SET NAMES 'cp1251'");
if(!$connection || !$db)
{
exit(mysql_error());
}
if(!empty ($_POST['password'])){
$password = mysql_escape_string($_POST['password']);
$result = mysql_query("SELECT `password`, `id` FROM `pass` WHERE `password` = '$password'");
$row=mysql_fetch_row($result);
$id=$row[1];
switch ($id) { 
case "1":
header('Location: 1.php');
exit();break;
case "2":
header('Location: 2.php');
exit();break;
case "3":
header('Location: 3.php');
exit();break;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
 
<link href="/css/templatemo_style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="/css/coda-slider1.css" type="text/css" charset="utf-8" />
 
<script>
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
    history.go(1);
};
 
</script>
 
</head>
<body>
 
<div id="slider">
    <div id="templatemo_header_wrapper">
        <div id="templatemo_header">
            <div id="header"><h1><a href="#"></a></h1></div>
        </div>
    </div>
    
    <div id="templatemo_main">
        
        
         <br> <br>
<form method="post">
<input type="text" name="password" value="Enter password"/><br>
<input type="submit" value="Click">
</form>
теперь после отправки данных страница вообще перестала отображаться,со все той же ошибкой
0
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 01:43 8
Вижу, что не закрыт php код на 24 строчке добавьте ?> Если эта ошибка все равно выводится, то проверьте, чтоб файл был записан в кодировке utf-8 без BOM
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 01:53  [ТС] 9
Цитата Сообщение от sad67man Посмотреть сообщение
Вижу, что не закрыт php код на 24 строчке добавьте ?> Если эта ошибка все равно выводится, то проверьте, чтоб файл был записан в кодировке utf-8 без BOM
Да,после изменения кодировки редирект произошел,вот только теперь страница 1.php пустая.Просто я запретил доступ к ней из вне путем

PHP
1
2
<?php 
if(!defined("IN")) exit();?>
а в login.php

PHP
1
<?php define("IN", 1);
Поменял кодировку и в 1.php - безрезультатно
0
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 02:13 10
А что вы хотите сделать? Редирект перенапрвляет браузер по новой ссылке. А там у вас не определена константа.

Добавлено через 12 минут
Чем вас не устраивает include?
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 03:13  [ТС] 11
Цитата Сообщение от sad67man Посмотреть сообщение
А что вы хотите сделать? Редирект перенапрвляет браузер по новой ссылке. А там у вас не определена константа.
Добавлено через 12 минут
Чем вас не устраивает include?
Последний раз редактировалось sad67man; Сегодня в 03:03.
Тем что мне нужно переходить по данной ссылке в границах сайта,что бы из вне не могли прописать адрес и зайти - затем и пароль.Но если через include это делать файл 1.php(который сам по себе является редактором другой таблицы) работает дважды.1 раз он подключается к самому login.php и когда я редактирую с его помощью другую таблицу меня снова же перекидывает на 1.php,но т.к. я использовал
PHP
1
<?php define("IN", 1);
переход 2 раз не возможен.Т.е. если я введу это в сам файл 1.php - файл как будто не будет защищен от проникновения из вне.Сам себя блогирует и разблокирует.Посему и ищу выход путем редерикта на на файл 1.php ,а не дважды его использовать.
Надеюсь внятно объяснил
0
Harma
43 / 44 / 35
Регистрация: 13.01.2016
Сообщений: 155
04.04.2016, 03:18 12
user_abuser, в файле php.ini строку
Код
output_buffering
измените со значения Off на On.
Скорее всего из-за этого. После сохранения настроек перезапустите сервер.
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 03:28  [ТС] 13
Цитата Сообщение от Harma Посмотреть сообщение
user_abuser, в файле php.ini строку
CodeВыделить код
1
output_buffering
измените со значения Off на On.
Скорее всего из-за этого. После сохранения настроек перезапустите сервер.
У меня вроде нет такого файла
0
Harma
43 / 44 / 35
Регистрация: 13.01.2016
Сообщений: 155
04.04.2016, 03:31 14
У вас какой сервер OpenServer Denwer?
0
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 03:32  [ТС] 15
Цитата Сообщение от Harma Посмотреть сообщение
У вас какой сервер OpenServer Denwer?
Обычный денвер
с denwer.ru качал
0
Harma
43 / 44 / 35
Регистрация: 13.01.2016
Сообщений: 155
04.04.2016, 03:38 16
Берешь команду
PHP
1
<?php phpinfo(); ?>
В нем смотришь такую строку:
Код
Loaded Configuration File
Справа будет путь до файла php.ini
У тебя будет другой путь у меня OS(Open Server).
По своему пути переходишь в файл php.ini и меняешь значение строки
Код
output_buffering
на On
0
Миниатюры
Редирект switch  
user_abuser
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 35
04.04.2016, 14:08  [ТС] 17
Цитата Сообщение от Harma Посмотреть сообщение
В нем смотришь такую строку:
CodeВыделить код
1
Loaded Configuration File
Справа будет путь до файла php.ini
У тебя будет другой путь у меня OS(Open Server).
По своему пути переходишь в файл php.ini и меняешь значение строки
CodeВыделить код
1
output_buffering
на On
Миниатюры
Сделал,дальше что?
0
sad67man
707 / 575 / 348
Регистрация: 23.08.2015
Сообщений: 1,441
04.04.2016, 14:50 18
Я до конца не понял, что вы хотите сделать, но тут редирект вам не поможет. Нужен другой подход. Если объясните поподробнее, может быть накину несколько вариантов.
0
Harma
43 / 44 / 35
Регистрация: 13.01.2016
Сообщений: 155
04.04.2016, 14:56 19
user_abuser, после того как сохраните файл с параметром on необходимо перезапустить денвер и ваш скрипт заработает.
0
miketomlin
Заблокирован
04.04.2016, 14:58 20
Цитата Сообщение от user_abuser Посмотреть сообщение
Тем что мне нужно переходить по данной ссылке в границах сайта,что бы из вне не могли прописать адрес и зайти - затем и пароль.
Хорош выносить мозг народу

Напишите в общем, что хотите сделать. Так вам быстрее помогут.
0
04.04.2016, 14:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 14:58

Двойной редирект
Доброго времени суток! В БД хранится таблица с редиректами такого вида: id,...

Радио группа и Switch
Имеем радио группу &lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;type&quot; value=&quot;op1&quot;...

Switch hot news
Здравствуйте, столкнулся с такой проблемой, нужно сделать чекбокс или же что то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru