Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
1

Не работает header() после размещения сайта на сервере

05.11.2012, 23:37. Показов 6235. Ответов 32
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, что может быть локально на xampp фукция header('Location: index.php') работала и перенаправляла куда нужно, но после залива на сервер она работать перестала и скрипт никуда не перенаправляет что может быть?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2012, 23:37
Ответы с готовыми решениями:

Сайт перестал работать после размещения на сервере
на локалке всё работает отлично, а на серваке выдаёт ету шибку: Unable to cast object of type...

Проблема после размещения на сервере: 'Operation must use an updateable quiery'
Пытаюсь вставить запись в БД, формирую запрос, а мне такое сообшение об ошибке: 'Operation must use...

Изменилась кодировка сайта после размещения на хостинге
Добрый день. Пока когда проверял сайт на локальной машине через Visual Studio все было нормально,...

Failed opening после размещения сайта на хостинге
Всем привет, подскажите пожалуйста Warning: include_once(SocialAuther\Adapter\Vk.php) : failed...

32
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
05.11.2012, 23:47 2
включите вывод всех ошибок (error_reporting(E_ALL), ini_set('display_errors', 1)), скорее всего вывод какого-то текста до вывода HTTP заголовка
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
05.11.2012, 23:57  [ТС] 3
Warning: Cannot modify header information
Вот что выводит

Добавлено через 4 минуты
пример кода
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
<link rel="stylesheet" type="text/css" href="css/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
require_once 'mysql_login.php';
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
echo <<<END
<div class="admin_login">
    <form name="authorization" action = "login.php" method = "post">
        <div class="admin_login_element">
            <p>Login:</p>
        </div>
        <div class="admin_login_element">
            <input type="text" size="15" name="name">
        </div>
        <div class="admin_login_element">
            <p>Password:</p>
        </div>
        <div class="admin_login_element">
            <input type="password" size="15" name="password">
        </div>
        <input type="submit" name = "enter" value="Войти" class="login_button">
    </form>
</div>
END;
if (isset($_POST['password']) && ($_POST['name'] == 'admin'))
{  
    $password = md5($_POST['password']);
    
    $query  = mysql_query("SELECT `iduser` FROM `user` WHERE password = '$password'");
    $iduser = mysql_fetch_row($query);
    
    if ($iduser[0])
    {
        $_SESSION['admin'] = $iduser[0];
        header("Location: admin.php");
    }
}
?>
0
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
05.11.2012, 23:59 4
http://phpfaq.ru/headers

Добавлено через 51 секунду
+ очень вам рекомендую к прочтению:
http://www.phpinfo.su/articles... v_php.html
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 00:39  [ТС] 5
Спасибо, изучу, знаю что нет разделения логики с представлением нету, пока работаю над изучением данной информации, и в частности с шаблонизированием, пока не все так понятно и представление не до конца вырисовывается. Про запросы тоже знаю, то поправлю

Добавлено через 35 минут
Что можно еще использовать для того чтобы организовать редирект на нужную мне страницу?
0
60 / 57 / 22
Регистрация: 15.12.2009
Сообщений: 231
Записей в блоге: 1
06.11.2012, 08:16 6
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
<?php
session_start();
require_once 'mysql_login.php';
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
if (isset($_POST['password']) && ($_POST['name'] == 'admin'))
{  
    $password = md5($_POST['password']);
    
    $query  = mysql_query("SELECT `iduser` FROM `user` WHERE password = '$password'");
    $iduser = mysql_fetch_row($query);
    
    if ($iduser[0])
    {
        $_SESSION['admin'] = $iduser[0];
        header("Location: admin.php");
    }
}
 
echo <<<END
 
<link rel="stylesheet" type="text/css" href="css/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="admin_login">
    <form name="authorization" action = "login.php" method = "post">
        <div class="admin_login_element">
            <p>Login:</p>
        </div>
        <div class="admin_login_element">
            <input type="text" size="15" name="name">
        </div>
        <div class="admin_login_element">
            <p>Password:</p>
        </div>
        <div class="admin_login_element">
            <input type="password" size="15" name="password">
        </div>
        <input type="submit" name = "enter" value="Войти" class="login_button">
    </form>
</div>
END;
?>
Вот так должно работать
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 09:33  [ТС] 7
Местами менять пробовал, не помогло
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 10:48 8
пустые строки перед открывающимися тегами php это тоже вывод
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 10:53  [ТС] 9
Это здесь пустые строки добавелись, в коде их нет, в другом скрипте решил это с помощью функций ob_start() ob_end_flush(), но тут почему-то они не действуют
0
60 / 57 / 22
Регистрация: 15.12.2009
Сообщений: 231
Записей в блоге: 1
06.11.2012, 11:11 10
Этот скрипт начальный или подключается?
В require_once 'mysql_login.php'; Есть вывод в браузер?
Просмотри все строки кода по ходу работы приложения, НИГДЕ НЕ ДОЛЖНО БЫТЬ ВЫВОДОВ В БРАУЗЕР. Вообще никаких echo, print, etc...
Вот насчет error_reporting(E_ALL); не знаю. Но тоже бы попробовал отключить.
0
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 11:18  [ТС] 11
Вообще подключаемый, но запускаю его сейчас как начальный, в майскюэл только подключение выводов тоже нет, логин.пхп подключаю к простинькой админке, сама админка вот, и в ней также не работает эта функция
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
<link rel="stylesheet" type="text/css" href="css/style.css">
<?php
session_start();
if (isset($_POST['exit']))
{
    session_destroy();
    header("Location: login.php");
}
?>
<?php if ($_SESSION['admin']): ?>
<div class="admin_header">
    <form name="exit" action = "admin.php" method = "post">
        <input type="submit" name = "exit" value="Выйти">
    </form>
</div>
<div class="user">
    <div class="user_main">
        <form method="post" action="user_handler.php">
<?php include "user_handler.php"; ?>
            <input type="submit" name="delete" value="Удалить">
        </form>
    </div>
</div>
<div class="post_right">
    <div class="user_main">
<?php include "post_handler.php"; ?><br>
    <form method="post" action="post_handler.php">
        <input type="text" name="title" size="50">
        <textarea name="post" cols="40" rows="20"></textarea>
        <input type="submit" name="add" value="Добавить">
    </form>
    </div>
</div>
 <?php else: header("Location: login.php"); ?>
 <?php endif; ?>
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 11:30 12
если в подключаемом файле есть закрывающий тег php и после него есть хоть пробел то это тоже вывод, поэтому лучше в подключаемых файлах не закрывать теги

Добавлено через 1 минуту
у вас здесь html на первой строчке!
1
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
06.11.2012, 11:34 13
PHP
1
error_reporting(E_ALL);
никогда отключать не нужно. не хотите выдоить ошибки -
PHP
1
ini_set('display_errors', 0))
+ логирование -
PHP
1
error_log()
Добавлено через 1 минуту
Cyber_C++,
alpex, указал вам на ошибку. все проблемы у вас будут до тех пор, пока не отделите мух от котлет - представление (html) и логику скрипта
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 11:38  [ТС] 14
Тогда почему все работает локально, а с мира нет? тоесть если бы были пробелы то и не работало бы локально правильно я понимаю?
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
06.11.2012, 11:44 15
приведенный вами код никогда не будет работать со стандартными настройками, во всяком случае сеесия у вас не запустится, потому что перед ней идет вывод html и соответственно заголовки браузеру уже отправлены, и сессия не сможет отправить куку в браузер с PHPSESSID, потому что куки уходят вместе с заголовками!

Добавлено через 1 минуту
прочитайте эту тему Что означает предупреждение "headers already sent", если не поймете перечитайте еще раз
1
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 11:54  [ТС] 16
Спасибо

Добавлено через 8 минут
Добавил ob_start(); перед html все заработало
0
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
06.11.2012, 11:58 17
можеь BOM?
0
0 / 0 / 0
Регистрация: 21.09.2011
Сообщений: 52
06.11.2012, 11:58  [ТС] 18
Смотрю, пока сторонних символов не нашел
0
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
06.11.2012, 12:06 19
логирование включили?
0
KOPOJI
06.11.2012, 14:31     Не работает header() после размещения сайта на сервере
  #20

Не по теме:

Василий Макогон, раз с ob_start() все заработало - то меток BOM нет :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2012, 14:31

Перестал работать Membership после размещения сайта на хостинге
Добрый вечер. Есть работающий сайт на ASP.NET MVC3. Возникла необходимость перенести на другой...

Движок игры не работает после размещения на хостинге
Скачал движок игры переделал роботал на локалке денвер 4.1.6, phpmyadmin. Хотел накинуть на тест...

Работает header после вывода html
Добрый день! Раньше пользовался php5.6 и функция header('Location: index.php') перенаправление...

Пример с одного сайта у меня на сервере не работает
В учебнике: http://ru.html.net/tutorials/php/lesson5.php , я нашел вот такой пример: &lt;html&gt; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru