Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   header ^ html (http://www.flasher.ru/forum/showthread.php?t=36825)

fester 06.09.2002 21:20

header ^ html
 
Всем привет!
В данный момент пытаюсь разобраться с PHP. Но у меня проблемка с <?header (Location:info.php)?> . Получаю такую ошибку: Warning: cannot add header information – headers already sent by (output started at d:\.....\..php: 17) in d:\...\..php on line 119
Я в курсу, что перед „header“ не следует помещать HTML. Но как же мне быть тогда? Есть предложения?

Самурай 06.09.2002 22:41

headers already sent by (output started at d:\.....\..php: 17)


ну раз сенд так сенд...

никак по другому нильзя... развечто открой окошко в котором будут посылатся твои хедеры...

ihorko 06.09.2002 23:19

пежон, ты че, прикалываешься???!!! :D :D :D
ЕЩЕ КАК МОЖНО!!! НАМ ВСЕ МОЖНО!!!

способ 1:
- открываем php.ini, находим директиву output_buffering и меняем значение на on перезапускаем апач, и все в порядке.

способ 2:
- перед тем как отправлять хедер, не выводить ничего в документ (операторы echo, print и им подобные)

способ 3, мой самый любимый:
- в скрипте, где необходимо отправлять хедеры после посылки контента, в самом начале вызываем встроенную пхп-функцию:

ob_start();

которая начинает кешировать все тело страницы, не отправляя его браузеру. а в конце страницы (сценария) вызываем другую функцию:

ob_end_flush();

которая очищает этот буфер.

извините ребята, но я повторю это опять:

READ THAT FUCKING MANUAL!!!

:D :D :D :D :D

fester 07.09.2002 01:05

ну как же так
 
уважаемый ihorko!

очень рад вашему сообщению, только вот умнее я не стал! :-) после того, как прочел его.
мои слабые знания РХР не позваляют мне сообразить как мне теперь по вашему предложению поступить... тут еще разок мой код:
Только что заметил что сервер завис.... код на другом компе... пропробую обьяснить проблемку поподробнее...
<?
session_start() .....
?>
много HTML со всякими комбинациями ПХП тоесть echo и т.д.
<?
header ("Location:dada.php");
?>

------------------------------------------------------------------------------------
вот если хочешь помочь скажи куда мне что подставить.... я не могу перенести header в первые строчки, так как в середине скрипта много проверки через if которые сопровождаются echo или die. Вот такие дела.

Большое спасибо за помощь зарание.

:-)

ihorko 07.09.2002 01:14

Re: ну как же так
 
Цитата:

Оригинал написал(а) fester
<?
ob_start();

session_start()
?>
много HTML со всякими комбинациями ПХП тоесть echo и т.д.
<?
header ("Location:dada.php");

ob_end_flush();
?>

ОБЯЗАНО работать :)

fester 07.09.2002 01:15

только деняг на билет нет :-(

ihorko 07.09.2002 01:20

гы :) не в тот топик дорогой фестер! это ты там с самрусом и дернлабом?

fester 07.09.2002 01:22

ihorco
 
щас попробую и скажу :)))
пасибо за обьяснение...

fester 07.09.2002 01:28

блин есть же умные люди!
 
Игорка! ты блин Гениус!

сразу же получилось!
а как ты к этому пришел? что это вообще за команды такие?

большое пасибо!

fester 07.09.2002 01:33

как мед так и ложкой!
 
слушай Игор...

у меня тут еще проблемка....
вообщем имеется едит-маска для базы данных, которая позваляет удалять или изменять занесенные туда мелочи. вообщем удаление происходит гладко, а изменение чет борохлит......
ты в таком тоже подсказать могешь?

fester 07.09.2002 01:39

вообщем тут содик о котором я писал
 
сод
<html><body><div align="center">
<h1>Kundendadenbank bearbeiten</h1>
<?
//Verbindung herstellen
$db = mysql_connect("127.0.0.1","root");
mysql_select_db("adminzone_db",$db);

// Daten aendern
if ($edit) {
if ($submit) {
$sql = "UPDATE zugriff SET name='$name', pass='$pass', level='$level' WHERE id=$edit";
$result = mysql_query($sql,$db);
echo "Daten f&uuml;r die ID ".$edit." wurden ge&auml;ndert";
}
else {
$sql = "SELECT * FROM zugriff WHERE id=$edit";
$result = mysql_query($sql,$db);
$data = mysql_fetch_array($result);
?>

<form method="post" action="<? echo $PHP_SELF ?>">
<input type=hidden name="edit" value="<? echo $data["id"] ?>">
<table border="0" align="center">
<tr>
<td></td>
<td>
</td>
</tr><tr><td>Name</td><td>
<input type="text" name="Name" value="<? echo $data["name"] ?>" size="20">
</td></tr><tr><td>Passwort</td><td>
<input type="text" name="pass" value="<? echo $data["pass"] ?>" size="20">
</td></tr><tr><td>Level</td><td>
<select name="level" size="1">
<option value="0">0
<option value="1">1
<option value="2">2
<option value="3">3
</select>


</td></tr><tr><td>&nbsp;</td><td>
<input type="submit" name="submit" value="&Auml;ndern">
</td></tr>

</table>
</form>
<?
}
}


//Daten l&ouml;schen
if($clear) mysql_query("DELETE FROM zugriff WHERE id=$clear",$db);


//Daten auslesen
$result = mysql_query("SELECT * FROM zugriff",$db);
?>

<table border="1" cellspacing="0" cellpadding="3" align="center">
<tr>
<td><b>Lцschen</b></td>
<td><b>Bearbeiten</b></td>
<td><b>ID</b></td>
<td><b>Name</b></td>
<td><b>Pass</b></td>
<td><b>Level</b></td>



</tr>
<? while ($daten = mysql_fetch_array($result)) { ?>
<td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[id].'' ?>">l&ouml;schen</a></td>
<td><a href="<? echo ''.$PHP_SELF.'?edit='.$daten[id].'' ?>">bearbeiten</a></td>

<td><? echo $daten[id]; ?></td>
<td><? echo $daten[name]; ?></td>
<td><? echo $daten[pass]; ?></td>
<td><? echo $daten[level]; ?></td>

</tr>
<? } ?>
</table></div></body></html>

\сод
......
каким то образом он при bearbeiten (исправлять) удаляет $name
----

fester 07.09.2002 01:46

еще чуток подожду и пойду спать
 
:D :p

fester 07.09.2002 01:50

игорок
 
Цитата:

Оригинал написал(а) ihorko
гы :) не в тот топик дорогой фестер! это ты там с самрусом и дернлабом?
да нет это я на твоем сайте был и видел про 14 сентября, только вот заголовок не тута написал, поэтому ты не понял сразу - да я и сам не понял от куда это сообщение появилось :))))

время у меня 14 сентября есть, только денег на билет нет :))))

веселой встречи вам!
кстати в киеве я уже тоже был... красивый город говорят, когда починят будет :))) (шутка)

ihorko 07.09.2002 16:28

да уже починили... и дальше чинят... это процесс вечный. проблема наших властей в том, что у них отсутствует вкус. никакой тебе, длин, эстетики... впиндюрили большой и толстый фаллос в центре города, а на него насадили толстую телку с гусем на руках... звиздец просто какой-то! %)

а по поводу твоего скрипта... найди где у тебя самый первый if начинается... типа if ($edit)... нашел? а теперь найди, где его закрывающая скобка... найдешь - все поймешь :)
и еще совет: не используй никогда прямое обращение к таким переменным, даже если включена опция register_globals... обращайся через соответствующие массивы
$_GET (deprecated - $HTTP_GET_VARS)
$_POST (deprecated - $HTTP_POST_VARS) и так далее...
можешь даже функцию наваять, которая по вызову будет идти по одному из этих массивов и делать следующее:
$id = $_POST["id"]
$name = $_POST["name"] и так далее... тоесть будет просто создавать простые переменные из этих массивов, сохраняя имена. Это полезно из соображений безопасности.

и еще... по поводу тех двух функций, которые помогают отправить-таки хедеры. я это уже говорил, но повторюсь опять -

READ THE FUCKING MANUAL!!!

в мануалах и референсах много полезного пишут... просто ищешь в референсе все по функции header();
поскольку проблема с его отсылкой не нова, то там сразу есть советы, как с этим разобраться :) и надо заметить, очень дельный советы!

fester 09.09.2002 12:43

пасиба
 
я разобрался!
все работает - если чем могу помочь - обращайся!

fester 10.09.2002 23:13

так просто...
 
Приветствую тебя Игорка!

Ты мне много советов даешь полезных, (правда я еще не все понимаю – и о их полезности только догадываться могу). Хотел тебя спросить, коли позволишь, чем ты занимаешься, от куда владеешь такими глубокими знаниями программирования? Знаешь, я себе несколько книг уже купил для ПХП, но все как-то нетолковые они. В одной все только самое важное – ее я приобрел в самом начале. Вторая книга опирается так сказать на первую, но тоже как-то многому не учит. Тут на прошлой неделе купил еще одну – думал оболденно классную урвал, но увы там совсем в краце описаны 700 команд ПХП с маленькими примерами. Может ты мне посоветуешь где можно найти книжонку с !полезными! советами?
Большое спасибо, за ответ!
Удачи в творчестве.
ФЭстЭр

ihorko 11.09.2002 00:26

гы :)

обожаю вот так вот удивлять людей... и тебя удивлю :D :D :D
прикол в том, что я ДИЗАЙНЕР!!! графический дизайнер!!! а программирование - так, хобби. в один прекрасный день меня задолбало просить-умолять знакомых программеров написать мне то гостевуху, то голосование, то авторизацию... и я начал изучать PHP+MySQL.. с моим гуманитарным складом ума это все давалось мне нелегко... но я не сдавался... и где-то через месцев 7-8 заметил, что на равных спорю с программерами, как лучше использовать сокеты... вот так вот...

и в достижении таких знаний мне помогли следующие вещи:
- упрямость и усидчивость
- официальные мануалы и референсы по PHP и MySQL
- две прекрасные книги - одна, такая же как у тебя, где описаны много функций, а вторая, которую мне прислал добрый SamRuss из этого же форума в ПДФ-формате, - PHP and MySQL Web Development by Luke Welling and Laura Thomson... И я изучал этот ПДФ на английском, потом купил уже нормальную, печатную книгу изданную в издательстве DiaSoft и продолжил изучение... до сих пор всегда и везде ношу эту тяжелую книгу в рюкзаке! :D :D :D

И еще много пользы принесло разковыривание сорсов разных скриптов, взятых в сети...

дерзай, у тебя все получится :)


Часовой пояс GMT +4, время: 00:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.