Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/158: Рейтинг темы: голосов - 158, средняя оценка - 4.64
0 / 0 / 2
Регистрация: 12.08.2010
Сообщений: 75
1

Warning: Cannot modify header information - headers already sent by (output started at E:\home\localhost\www\1\add.php:56) in E:\home\localhost\www\1\

15.06.2012, 17:06. Показов 29943. Ответов 22
Метки нет (Все метки)

Привет всем!
Подскажите пожалуйста почему постоянно выскакивает предупреждение: Warning: Cannot modify header information - headers already sent by (output started at E:\home\localhost\www\1\add.php:56) in E:\home\localhost\www\1\add.php on line 120

ругается на строку header('Location: add.php');
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2012, 17:06
Ответы с готовыми решениями:

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\vpn\conn.php:1) in Z:\home\localhost\www\
Добрый день... Помогите пожалуйста, не могу понят в чем проблема. Выводить такое ошибку Warning:...

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\unit.su\WWW\config.php:1) in Z:\home\unit.su\WWW\aut.ph
подскажите что за ошибка в коде? Warning: Cannot modify header information - headers already...

Warning: Cannot modify header information - headers already sent by (output started at M:\home\reg.com\www\index.php:1)
Здравствуйте, помогите мне пожалуйста. Я только начал изучать PHP, и вроде бы у меня всё...

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\ch
доброго времени суток, изучаю php по книге "Бретт Маклафлин - PHP и MySQL. Исчерпывающее...

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
22
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
15.06.2012, 17:11 2
очевидно что у вас идет вывод в браузер перед функцией header
1
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
15.06.2012, 17:14 3
Цитата Сообщение от Tranvay Посмотреть сообщение
output started at E:\home\localhost\www\1\add.php:56
Тут даже написано где
0
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
15.06.2012, 17:14 4
скинь код - посмотрю
0
0 / 0 / 2
Регистрация: 12.08.2010
Сообщений: 75
15.06.2012, 17:41  [ТС] 5
Sergio Aguero, вот кинул
0
Вложения
Тип файла: zip 1.zip (476.0 Кб, 326 просмотров)
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
15.06.2012, 17:51 6
а зачем вы засовываете значение переменной $login в сессию а потом делает серверное обновление страницы (header)????
в 120-ой строке файлика add.php функцию header('Location: add.php'); полностью уберите
1
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
15.06.2012, 17:55 7
PHP
1
session_start();
Во всех страницах должно быть до какого либо вывода в браузер. А у Вас везде пол страницы вначале выводится а потом session_start();
1
0 / 0 / 2
Регистрация: 12.08.2010
Сообщений: 75
15.06.2012, 18:11  [ТС] 8
а можно отключать эти сообщения? чтоб не выводились предупреждения на страницу, а только ошибки
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16827 / 6705 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
15.06.2012, 19:39 9
можно.. но тогда сайт непредсказуемо будет работать - лучше как раз избавляться от них, а не подавлять..
ну если так хотите можете
1 вариант: перед функцией поставить @
2 вариант: в начале документа можете прописать
PHP
1
error_reporting(E_ALL & ~E_NOTICE);
но опять же, лучше избавляться от этого.
кстати, в вашем случае, если заголовки уже отправлены, а надо сделать редирект - можно воспользоваться js - заменить ваш header на
PHP
1
echo "<script>document.location.replace('add.php');</script>";
3
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
13.10.2013, 16:32 10
Цитата Сообщение от KOPOJI Посмотреть сообщение
можно.. но тогда сайт непредсказуемо будет работать - лучше как раз избавляться от них, а не подавлять..
ну если так хотите можете
1 вариант: перед функцией поставить @
2 вариант: в начале документа можете прописать
PHP
1
error_reporting(E_ALL & ~E_NOTICE);
но опять же, лучше избавляться от этого.
кстати, в вашем случае, если заголовки уже отправлены, а надо сделать редирект - можно воспользоваться js - заменить ваш header на
PHP
1
echo "<script>document.location.replace('add.php');</script>";
Уважаемый король. Нужна ваша помощь с такой же функцией. Я пересмотрел все , но дойти так и не смог, как обойти мне этот header. То что вы здесь писали пробовал. Уже примерно 4 дня не вылажу.
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16827 / 6705 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.10.2013, 20:14 11
toongoos, а это смотрели? Что означает предупреждение "headers already sent"
1
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
15.10.2013, 01:15 12
Цитата Сообщение от KOPOJI Посмотреть сообщение
спасибо. код пересматриваю полностью под свой сайт. пытался на быструю подключить, чтобы глянуть, но не тут то было. за информацию спасибо.
0
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
18.10.2013, 02:43 13
Цитата Сообщение от KOPOJI Посмотреть сообщение
Король, помогите. Совсем запутался. Есть страница зарегестрированного пользователя. Когда он входит на эту страницу, то из бд выводится путь к картинке, далее Jcrop( нужно обрезать эту картинку) Вот тут у меня и проблемы возникли

avachange.php
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php
session_start();
include ("bd.php"); 
 
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
    else
    { 
        exit("Вы зашил на страницу без параметра!");
    } 
    if (!preg_match("|^[\d]+$|", $id))
    {
        exit("<p>Неверный формат запроса! Проверьте URL</p>");
    }
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
    {
        $login = $_SESSION['login'];
        $password = $_SESSION['password'];
        $result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db); 
        $myrow2 = mysql_fetch_array($result2); 
    if (empty($myrow2['id']))
        {
        exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
        }
    }
else    
    {
 
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); 
    }
$result = mysql_query("SELECT * FROM  big_time_pic WHERE login='$login'",$db); 
$myrow = mysql_fetch_array($result);
 
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");} 
?>
<html>
<head>
    <?php
        $id = (int) $_REQUEST['id'];    
            if ( empty($id) )
            {
            $id = $_GET['id'];
            }
    ?>
<title>
    <?php 
        echo $myrow['login'];
    ?>
</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="focal-point.css"/>
    <script src="/js/jcrop/jquery.min.js"></script>
    <script src="/js/jcrop/jquery.Jcrop.js"></script>
    <link rel="stylesheet" href="/jcrop_files/main.css" type="text/css" />
    <link rel="stylesheet" href="/jcrop_files/demos.css" type="text/css" />
    <link rel="stylesheet" href="/css/jquery.Jcrop.css" type="text/css" />
 
 
<script type="text/javascript">
 
  $(function(){
 
    $('#cropbox').Jcrop({
      aspectRatio: 1,
      onSelect: updateCoords
    });
 
  });
 
  function updateCoords(c)
  {
    $('#x').val(c.x);
    $('#y').val(c.y);
    $('#w').val(c.w);
    $('#h').val(c.h);
  };
 
  function checkCoords()
  {
    if (parseInt($('#w').val())) return true;
    alert('Please select a crop region then press submit.');
    return false;
  };
 
</script>
    
 
 
        
    
</head>
 
 
<body>
 
<div id="header">
    <img src="/imageshead/Phistac ban.JPG" alt="PHISTAC">
        <div id="entered_user">Пользователь "<?php echo $myrow['login']; ?>"
        </div>
</div>
    
<div id="container">
    <div id="sidebar">
        <a href='page.php?id=<?php echo $_SESSION['id']; ?>'style="text-decoration:none"><p>Моя страница</p></a>
        <a href='index.php'style="text-decoration:none"><p>Главная страница</p></a>
        <a href='exit.php'style="text-decoration:none"><p>Выход</p></a>
    </div>
    
<div id="content">
 
    <?php
        if ($myrow['login'] == $login) /
        {
print <<<HERE
 
 
 
        <form action='avatar_to_change.php' method='post' enctype='multipart/form-data'>
        <input type="FILE" name="take_big_pic">
        <input type='submit' name='submit' value='изменить аватар'>
        </form>
        
        
        
<img src='$myrow[big_pic]' id="cropbox" width="513"  />
<p><iframe name="area" width="513"></iframe></p>
<form action='event.php'  target "area" method="post" onsubmit="return checkCoords();">
            <input type="hidden" id="x" name="x" />
            <input type="hidden" id="y" name="y" />
            <input type="hidden" id="w" name="w" />
            <input type="hidden" id="h" name="h" />
            <input type="submit" value="Обрезать изображение" class="btn btn-large btn-inverse" />
        </form>
 
 
 
        
HERE;
 
}
 
    
?>
 
</div>
 
 
 
<div id="footer">&copy; Ахмедов Руслан</div>
</div>
 
</body>
</html>
Это страница, на которую выводится картинка, ина ней же работает Jcrop. Выделяем область и отправляем данные на event.php


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
 
    $src = "$myrow[big_pic]";
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
 
    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
 
    header('Content-type: image/jpeg');
    imagejpeg($dst_r,null,$jpeg_quality);
 
 
    exit;
}
 
// If not a POST request, display page below:
 
?>
Вылазят ошибки
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Filename cannot be empty in Z:\home\test1.ru\www\event.php on line 8

Warning: imagecopyresampled() expects parameter 2 to be resource, boolean given in Z:\home\test1.ru\www\event.php on line 11

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\event.php:8) in Z:\home\test1.ru\www\event.php on line 13
яШяаJFIFяю;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 яЫC     яЫC   яА––" яД яДµ}!1AQa"q2Ѓ‘Ў#B±БRСр$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzѓ„…†‡€‰Љ’“ ”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪбвгдежзийкстуфхцч шщъяД яДµw!1AQaq"2ЃB‘Ў±Б #3RрbrС $4б%с&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ѓ„…†‡€ ‰Љ’“”•–—?™љўЈ¤Ґ¦§Ё©ЄІіґµ¶·ё№єВГДЕЖЗИЙКТУФХЦЧШЩЪвгдежзийктуфх цчшщъяЪ ?ьЄўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ( ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ( ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ўЉ(ў

Что делать. Не могу понять никак. Как передать данные из формы в event.php. Спасибо за любую помощь.

Добавлено через 1 час 54 минуты
event.php другой. Его надо подключать к базе данных я так понял. Ведб путь к файлу- находится в базе данных.

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();
include ("bd.php");
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db); 
$myrow2 = mysql_fetch_array($result2); 
if (empty($myrow2['id']))
   {
  
    exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
   }
}
else {
 
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
$result = mysql_query("SELECT * FROM  big_time_pic WHERE login='$login'",$db); 
$myrow = mysql_fetch_array($result);
if (isset($_POST[]['name']))
{
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
 
    $src = '$myrow[big_pic]';
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
 
    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
 
    header('Content-type: image/jpeg');
    imagejpeg($dst_r, $myrow[big_pic], $jpeg_quality);
 
 
    exit;
}
 
// If not a POST request, display page below:
 
?>
Добавлено через 2 минуты
Вот. и как правильно отправить данные формы где происходит выделение области в файле avachange.php?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16827 / 6705 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
18.10.2013, 20:26 14
также как и обычная отправка формы. по поводу ошибок - забейте их в переводчик, если проблема с английским, там все понятно написано.. первые две исправить, третья исчезнет, скорее всего
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 8
18.10.2013, 20:49 15
Цитата Сообщение от toongoos Посмотреть сообщение
...........Я пересмотрел все , но дойти так и не смог, как обойти мне этот header. То что вы здесь писали пробовал. Уже примерно 4 дня не вылажу.
редирект с помощью javascript

PHP
1
2
3
 echo "<script lang='javascript'>".
"document.location.href='add.php';".
"</script>";
как-то так можно вместо header
0
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
19.10.2013, 02:14 16
В общем загружаю большую картинку, выбираю область, далее "обрезать" , послечего мне пишет " вы зашли на страницу без параметра. Это в файле, куда идет редирект. Захожу в папку обрезанных(те, к которым путь в базе данных) Картинка действительно вырезана, но вот только там просто чёрный квадрат.

Добавлено через 21 минуту
" вы зашли на страницу без параметра" это 8 строка в файле avachange.php. В принципе не выдаёт ошибок больше. но почему черный квадрат и теряется id. Где я намудрил. Также поменял
PHP
1
if (isset($_POST[]['name']))
на
PHP
1
 if ($_SERVER['REQUEST_METHOD'] == 'POST')
.

Добавлено через 13 минут
Итак. Разбираем по полкам. Форма отправляет координаты по которым резать будет. В файл event.php. Там изменяется файл который находится в бд по пути (таблица)big_time_pic c определённым id. Но я так понимаю, что путь к картинке он не находит, так как квадрат чёрный. Он просто создаёт картинку 150*150. Вопрос. Почему не находит путь к файлу. Я могу путать тут, ругайте меня. Просто я уже не знаю.
0
Заблокирован
19.10.2013, 05:11 17
Цитата Сообщение от toongoos Посмотреть сообщение
Почему не находит путь к файлу. Я могу путать тут, ругайте меня. Просто я уже не знаю.
Потому что ваша патологическая лень мешает профтыкать везде проверки полученных извне данных.

PHP
1
$myrow = mysql_fetch_array($result);
Что в майроу? Вдруг там false, потому что записей 0, а ошибки подавлены (например в публичном режиме).

PHP
1
$src = '$myrow[big_pic]';
Что в $src? Имя файла, да? Сперва надо проверить есть такой файл, иначе фейл.

PHP
1
if(!file_exists($src)) die('нет такого файла:' . $src);
И тогда вы увидите что ваш "файл" называется

PHP
1
$myrow[big_pic]
Потому что вы так и делаете:

PHP
1
$src = '$myrow[big_pic]';
Заключив имя переменной в одинарные кавычки вы превратили его в скаляр.

Вот так надо, насколько я понял:

PHP
1
$src = $myrow['big_pic'];
И все проверки как выше внести.
1
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
19.10.2013, 06:36 18
Цитата Сообщение от sqlnub Посмотреть сообщение
Потому что ваша патологическая лень мешает профтыкать везде проверки полученных извне данных.

PHP
1
$myrow = mysql_fetch_array($result);
Что в майроу? Вдруг там false, потому что записей 0, а ошибки подавлены (например в публичном режиме).

PHP
1
$src = '$myrow[big_pic]';
Что в $src? Имя файла, да? Сперва надо проверить есть такой файл, иначе фейл.

PHP
1
if(!file_exists($src)) die('нет такого файла:' . $src);
И тогда вы увидите что ваш "файл" называется

PHP
1
$myrow[big_pic]
Потому что вы так и делаете:

PHP
1
$src = '$myrow[big_pic]';
Заключив имя переменной в одинарные кавычки вы превратили его в скаляр.

Вот так надо, насколько я понял:

PHP
1
$src = $myrow['big_pic'];
И все проверки как выше внести.
Чувак, да ты гений!!!!!!! Я только что проверил, да. В нужной папке находится обрезанная картинка.Получилось. Я правда еще добавил несколько строк туда в Event.php Ну в общем по накатонной.
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
<?php
session_start();
include ("bd.php");
 if (isset($_GET['id'])) {$id =$_GET['id']; }
    else
    { 
        exit("Вы зашли на страницу без параметра!");
    } 
    if (!preg_match("|^[\d]+$|", $id))
    {
        exit("<p>Неверный формат запроса! Проверьте URL</p>");
    }
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db); 
$myrow2 = mysql_fetch_array($result2); 
if (empty($myrow2['id']))
   {
  
    exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
   }
}
else {
 
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
$result = mysql_query("SELECT * FROM  big_time_pic WHERE login='$login'",$db); 
$myrow = mysql_fetch_array($result);
 
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");}
 
$result = mysql_query("SELECT * FROM  big_time_pic WHERE id='$id'",$db); 
$myrow = mysql_fetch_array($result);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {   $result = mysql_query("SELECT big_pic FROM  big_time_pic WHERE login='$login'",$db); 
    $myrow = mysql_fetch_array($result);
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
    $src = $myrow['big_pic'];
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
    imagejpeg($dst_r, $myrow['big_pic'], $jpeg_quality);
    }
 
?>
Вот. Только что проверил перед тем как отослать. Работает. Во всяком случае, то что я задумал получается.

Добавлено через 17 минут
А ну и
PHP
1
if ($_SERVER['REQUEST_METHOD'] == 'POST')
вместо
PHP
1
if (isset($_POST[]['name']))
и
PHP
1
header('Content-type: image/jpeg');
убрал. Теперь перенаправить только. Спасибо. Хоть посплю сегодня.
0
Заблокирован
19.10.2013, 06:50 19
Цитата Сообщение от toongoos Посмотреть сообщение
и
Код PHP
1
header('Content-type: image/jpeg');
убрал. Теперь перенаправить только.
Почаще делайте проверки внешних данных. Работы на 3 минуты, а спать будете больше на 3 часа.

Про хидер. Он должен быть такой

PHP
1
2
3
4
            if($show) {
                header('Content-Disposition: inline; filename="' . $output_file . '"');
                header('Content-Type: image/jpeg');
                imagejpeg($dst_image, NULL, $jpg_qlt);
чтобы отгрузить картинку юзеру. $output_file может быть любым текстом, так легко меняется имя файла которое и предлагается юзеру при попытке сохранения.
1
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 9
19.10.2013, 07:03 20
Вот рабочий event.php
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
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
session_start();
include ("bd.php");
 if (isset($_GET['id'])) {$id =$_GET['id']; }
    else
    { 
        exit("Вы зашли на страницу без параметра!");
    } 
    if (!preg_match("|^[\d]+$|", $id))
    {
        exit("<p>Неверный формат запроса! Проверьте URL</p>");
    }
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'",$db); 
$myrow2 = mysql_fetch_array($result2); 
if (empty($myrow2['id']))
   {
  
    exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
   }
}
else {
 
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
$result = mysql_query("SELECT * FROM  big_time_pic WHERE login='$login'",$db); 
$myrow = mysql_fetch_array($result);
 
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");}
 
$result = mysql_query("SELECT * FROM  big_time_pic WHERE id='$id'",$db); 
$myrow = mysql_fetch_array($result);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {   $result = mysql_query("SELECT big_pic FROM  big_time_pic WHERE login='$login'",$db); 
    $myrow = mysql_fetch_array($result);
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
    $src = $myrow['big_pic'];
    $img_r = imagecreatefromjpeg($src);
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
    imagejpeg($dst_r, $myrow['big_pic'], $jpeg_quality);
    echo "<html><head><meta http-equiv='Refresh' content='1; URL=avachange.php?id=".$_SESSION['id']."'></head><body><a href='avachange.php?id=".$_SESSION['id']."'>Миниатюра вырезана</a></body></html>";
    }
 
?>   
<html>
<head>
    <?php
        $id = (int) $_REQUEST['id'];    
            if ( empty($id) )
            {
            $id = $_GET['id'];
            }
    ?>
<title>
 
    <?php 
        echo $myrow['login'];
    ?>
</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
 
<body>
     <?php
        if ($myrow['login'] == $login) 
        {
print <<<HERE
  
      
HERE;
 
}
 
?>
 
        
</body>
</html>

Вот рабочий avachange.php на него перенаправляем после обрезки и сразу выводится обрезанная картинка. Можно добавить соль перец по вкусу еще.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php
session_start();
include ("bd.php"); 
 
if (isset($_GET['id'])) {$id =$_GET['id']; } //id "хозяина" странички
    else
    { 
        exit("Вы зашли на страницу без параметра!");
    } 
    if (!preg_match("|^[\d]+$|", $id))
    {
        exit("<p>Неверный формат запроса! Проверьте URL</p>");
    }
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
    {
        $login = $_SESSION['login'];
        $password = $_SESSION['password'];
        $result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db); 
        $myrow2 = mysql_fetch_array($result2); 
    if (empty($myrow2['id']))
        {
        exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
        }
    }
else    
    {
 
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); 
    }
$result = mysql_query("SELECT * FROM  big_time_pic WHERE login='$login'",$db); 
$myrow = mysql_fetch_array($result);
 
if (empty($myrow['login'])) { exit("Пользователя не существует! Возможно он был удален.");} 
?>
<html>
<head>
    <?php
        $id = (int) $_REQUEST['id'];    
            if ( empty($id) )
            {
            $id = $_GET['id'];
            }
    ?>
<title>
    <?php 
        echo $myrow['login'];
    ?>
</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="focal-point.css"/>
    <script src="/js/jcrop/jquery.min.js"></script>
    <script src="/js/jcrop/jquery.Jcrop.js"></script>
    <link rel="stylesheet" href="/jcrop_files/main.css" type="text/css" />
    <link rel="stylesheet" href="/jcrop_files/demos.css" type="text/css" />
    <link rel="stylesheet" href="/css/jquery.Jcrop.css" type="text/css" />
 
 
<script type="text/javascript">
 
  $(function(){
 
    $('#cropbox').Jcrop({
      aspectRatio: 1,
      onSelect: updateCoords
    });
 
  });
 
  function updateCoords(c)
  {
    $('#x').val(c.x);
    $('#y').val(c.y);
    $('#w').val(c.w);
    $('#h').val(c.h);
  };
 
  function checkCoords()
  {
    if (parseInt($('#w').val())) return true;
    alert('Please select a crop region then press submit.');
    return false;
  };
 
</script>
    
 
 
        
    
</head>
 
 
<body>
 
<div id="header">
    <img src="/imageshead/ban.JPG" alt="">
        <div id="entered_user">Пользователь "<?php echo $myrow['login']; ?>"
        </div>
</div>
    
<div id="container">
    <div id="sidebar">
        <a href='page.php?id=<?php echo $_SESSION['id']; ?>'style="text-decoration:none"><p>Моя страница</p></a>
        <a href='index.php'style="text-decoration:none"><p>Главная страница</p></a>
        <a href='exit.php'style="text-decoration:none"><p>Выход</p></a>
    </div>
    
<div id="content">
 
    <?php
        if ($myrow['login'] == $login) 
        {
print <<<HERE
 
 
 
        <form action='avatar_to_change.php' method='post' enctype='multipart/form-data'> //заносим картинку в бд обработчиком небольшим с проверками
        <input type="FILE" name="take_big_pic">
        <input type='submit' name='submit' value='изменить аватар'>
        </form>
        
        
        
<img src='$myrow[big_pic]' id="cropbox"  />
 
 
 
 
 
        
HERE;
 
}
 
?>
<form action='event.php?id=<?php echo $_SESSION['id']; ?>'  method="post" onsubmit="return checkCoords();">
            <input type="hidden" id="x" name="x" />
            <input type="hidden" id="y" name="y" />
            <input type="hidden" id="w" name="w" />
            <input type="hidden" id="h" name="h" />
            <input type="submit" value="Обрезать изображение" class="btn btn-large btn-inverse" />
        </form>
     
</div>
 
 
 
<div id="footer">&copy; хо-хо</div>
</div>
 
</body>
</html>
Спасибо еще раз.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2013, 07:03

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Warning: Cannot modify header information - headers already sent by (output started at /home/safad114/public_html/index.php:1) in /home/safad114/publi
Помогите плиз вот такую ошибку выдаёт при переходе с поисковика яндекс Warning: Cannot modify...

Warning: Cannot modify header information - headers already sent by (output started at index.php:1)
Нашел PHP код для создания пароля на админский блок. Кодировка UTF-8. Вот скрипт: &lt;? $db =...

Warning: Cannot modify header information - headers already sent by (output started at
Я столкнулся вот с такой проблемой. Вообщем хочу написать скрипт автаризации для сайта. А записать...

Warning: include(Z:/home/localhost/www/layout/header.php) [function.include]: failed to open stream: No such f
Столкнулся с такой проблемой не инклудится файл include $g_site_root.'/layout/header.php';?&gt;,пишет...


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

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

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