Jump to content
СофтФорум - всё о компьютерах и не только

Нужна помощь с PHP


Recommended Posts

в общем проблема такая:

HTML КОД:

<div id=usersonline align=right><font color=red size=1><script>usersonline()</script><?=getOnlineUsers()?></font></font></div>

CSS КОД:

#usersonline{POSITION:absolute;Z-INDEX:15;TOP:155;LEFT:75%}

JS КОД:

function usersonline(){if(browser=="MSIE6"||browser=="MSIE"){d.all.usersonline.style.left="75%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}if(browser=="moz106"||browser=="netscape"){d.all.usersonline.style.left="68%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}if(browser=="opera8"||browser=="opera"){d.all.usersonline.style.left="70%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}}

Это всё просто выводит надпись "Сейчас пользователей на сайте:"

Так вот собственно проблема:

я написал PHP код подсчёта в данный момент юзеров на сайте

session_start();define("MAX_IDLE_TIME",3);function getOnlineUsers(){if ( $directory_handle=opendir( session_save_path() ) ) {$count=0;while(false!==( $file=readdir($directory_handle))){if($file!='.'&&$file!='..'){if(time()- fileatime(session_save_path().'/'.$file)< MAX_IDLE_TIME*60){$count++;}}}closedir($directory_handle);return $count;}else{return false;}}

Или я что то не правильно делаю или в коде ошибки но в общем не получается Апач матерится что невозможно послать сессию/куку или типа этого

в общем помогите найти ошибку или предложите код подсчёта юзеров в онлайне

Заранее благодарен :)

Link to comment
Share on other sites

Привет.

твой PHP скрипт должен бит перед целий HTML код. Если у тебя даже один символ уже отпечатался в браузере (даже если не тег, а пробел), session_start() не может послат header :)

Link to comment
Share on other sites

Привет.

твой PHP скрипт должен бит перед целий HTML код. Если у тебя даже один символ уже отпечатался в браузере (даже если не тег, а пробел), session_start() не может послат header :)

205730[/snapback]

так и есть код стоит в самом верху а header не отправляется!

Link to comment
Share on other sites

Заметил одну ошибку в коде

if ( $directory_handle=opendir( session_save_path() ) )

Надо использовать

==
вместо
=

иначе у тебя происходит присваение, а не сравнение...

Link to comment
Share on other sites

Заметил одну ошибку в коде

Надо использовать  вместо

иначе у тебя происходит присваение, а не сравнение...

205871[/snapback]

Так и должно бит - присваевание...

Dimon#ic, а у тебя есть #include перед скриптом?

Link to comment
Share on other sites

Так и должно бит - присваевание...

Dimon#ic, а у тебя есть #include перед скриптом?

205873[/snapback]

Нет скрипт вписан в index там же и HTML сразу за скриптом

Может дело в session_save_path() ?

Link to comment
Share on other sites

Причём тут #include не понимаю... Это ж не C.

205928[/snapback]

Имел ввиду include() / include_once() / require() / reuire_oncde()

Просто сейчась на C++ пишу и случайно написал #include вмeстно include()

Link to comment
Share on other sites

Сомневаюсь  :)

Можеш показать вес код страници, так как он есть, не разбивая его на части?

205910[/snapback]

INDEX.PHP

<?session_start();define("MAX_IDLE_TIME",3);function getOnlineUsers(){if ( $directory_handle=opendir( session_save_path() ) ) {$count=0;while(false!==( $file=readdir($directory_handle))){if($file!='.'&&$file!='..'){if(time()- fileatime(session_save_path().'/'.$file)< MAX_IDLE_TIME*60){$count++;}}}closedir($directory_handle);return $count;}else{return false;}}echo getOnlineUsers();?><!--HTML CODE--><html><head><link  href='index0.stfrel=stylesheettype=text/css><!--Plug-in' JavaScript--><script language="JavaScript"src="functions.js"></script><title>Персональная система веб разработки - для каждого! Web Development Personal System (WDPS)</title></head><body><table width=100% height=100%><tr><td valign=top><img width=100% height=100 src="res/rizzing_big_logo.jpg"align="left"name="rizL"alt="About Rizzing Technology"title="About Rizzing Technology"id="rizlogoimg"></td></tr></table><div id="top_list"><table height=18 style="font-size:8pt;color:#2B2BFF;"width=100%"><tr> <td onMouseOver="checkOver()"onMouseOut="checkOut()"id=check_td align=center><a STYLE="CURSOR:HAND;"onClick="btest()"id=btest title="Проверить совместимость с вашим браузером"><b>:: Проверка совместимости ::</b></a></td><td id=details_td align=center><a STYLE="CURSOR:HAND;"onMouseOver="details()"id=details title="Обговорить детали проекта с администратором или управляющим"><b>:: Обговорить детали проекта ::</b></a></td><td id=mail_td align=center><a id=mail STYLE="CURSOR:HAND;"onMouseOver="mail()" title="WDPS-Mail услуги"onMouseOver="mail()"><b>:: Написать письмо ::</b></a></td><td id=tech_td align=center><a STYLE="CURSOR:HAND;"onMouseOver="tech()"id=tech title="Техническая информация"><b>:: Техническая поддержка ::</b></a></td><td id=comm_td align=center><a STYLE="CURSOR:HAND;"onMouseOver="comm()"id=comm title="Контактная информация и сервисы"><b>:: Связь ::</b></a></td></tr><tr> <td STYLE="visibility:hidden" align=center> </td><td STYLE="visibility:hidden"id=details_1p align=center><a href="http://www.icq.com/320094143"id="icq_p_stf">Admin</a></td><td STYLE="visibility:hidden"id=mail_1p align=center><a href="#"align=center>Личное</a></td><td STYLE="visibility:hidden"id=tech_1p align=center>Тех.Инфо</td><td STYLE="visibility:hidden"id=comm_1p align=center>Гостевой сервис</td></tr><tr> <td STYLE="visibility:hidden"> </td><td STYLE="visibility:hidden"> </td><td STYLE="visibility:hidden"id=mail_2p align=center>Admin</td><td STYLE="visibility:hidden"id=tech_2p align=center>Сообщить об ошибке</td><td STYLE="visibility:hidden"id=comm_2p align=center>WDPS Конференция</td></tr></table></div><table width=100% height=90% id=outTab onMouseOver="setTimeout('outTopTable()',0)"><tr><td></td></tr></table><div id="tech_sup_div"><script>body_table_bt()</script></td></tr></table></div><div id=update align=right><font size=1>Дата последнего обновления:<font color=red><script>update()</script></font></font></div><div id=usersonline align=right><script>usersonline()</script><font color=red size=1><?getOnlineUsers();?></font></font></div><div id=two_menu><table border=1 bordercolor=yellow width=100%><tr><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="#"class=mmenu>:: WDPS Инфо ::</a></td><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="#"class=mmenu>:: Разработка ::</a></td><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="download/"class=mmenu>:: Скачать ::</a></td><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="#"class=mmenu>:: Комната достижений ::</a></td><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="#"class=mmenu>:: Вступить ::</a></td><td onMouseOver="bgColor='FFFFCC'"onMouseOut="bgColor='FFFFAA'"align=center bgcolor="FFFFAA"><a href="#"class=mmenu>:: Администрирование ::</a></td></tr></table></div></body></html>

FUNCTIONS.JS

//BODY TABLES browser CORRECTLYvar browser,d=document;function dgi_btest(){if(navigator.userAgent.indexOf('MSIE 6.0')!=-1&&d.getElementById)browser="MSIE6";else if(navigator.userAgent.indexOf('MSIE')!=-1&&d.getElementById)browser="MSIE";if(navigator.userAgent.indexOf('Gecko')!=-1||navigator.userAgent.indexOf('Firefox/1.0.6')!=-1)browser="moz106";else if(navigator.userAgent.indexOf('Gecko')!=-1)browser="netscape";if(navigator.userAgent.indexOf('Opera 8')!=-1)browser="opera8";else if(navigator.userAgent.indexOf('Opera')!=-1)browser="opera";}function body_table_bt(){dgi_btest();body_draw();}function body_draw(){if(browser=="MSIE6"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3'height=300 width=300><tr><td valign=middle align=left id=bod>")}if(browser=="MSIE"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3'height=300 width=300><tr><td valign=middle align=left id=bod>")}if(browser=="moz106"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3' width=300 height=300><tr><td valign=middle align=left id=bod>")}if(browser=="netscape"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3'height=300 width=300><tr><td valign=middle align=left id=bod>")}if(browser=="opera8"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3'height=300 width=300><tr><td valign=middle align=left id=bod>")}if(browser=="opera"){d.write("<table border=1 bordercolor=yellow bgcolor='FFFFB3'height=300 width=300><tr><td valign=middle align=left id=bod>")}}//TOP MENU FUNCTION//BROWSER TESTfunction btest(){if(browser=="MSIE6"||browser=="MSIE"||browser=="opera8"||browser=="opera")if(confirm('Ваш браузер был успешно идентифицирован!\rЧтобы увидеть детали нажмите OK')){if(browser=="MSIE6"){d.all.bod.innerHTML="Вы используете браузер MS Internet Explorer версии 6<br>Детали:<br>Данный сайт был первоначально разработан на основе IE6 и все основные функции сайта у вас доложны работать";}if(browser=="MSIE"){d.all.bod.innerHTML="Вы используете браузер MS Internet Explorer версии "+ navigator.appVersion+"<br>Детали:<br>Существуют опасения с использованием некоторых функций сайта если вы пользуетесь версией <i>ниже</i>4й";}if(browser=="opera8"){d.all.bod.innerHTML="Вы используете браузер Opera версии 8<br>Детали:<br>Во время тестирования данного браузера с сайтом возникали некотрые проблемы но возможно что они уже решены";}if(browser=="opera"){d.all.bod.innerHTML="Вы пользуетесь браузером Opera версии ниже 8й<br>Детали:<br>Возможно вы будете испытывать трудности с некоторыми функциями сайта.Ваш браузер <i>НЕ</i> тестировался с данным сайтом но возможно что ошибочных ситуаций у вас не возникнет<br>";}}if(browser=="moz106"||browser=="netscape")if(confirm('Ваш браузер Mozilla был успешно идентифицирован!\nЧтобы увидеть детали нажмите OK')){{d.all.bod.innerHTML="Вы используете браузер Mozilla Firefox версии 1.0.6<br>Детали:<br>Пользуясь этим браузером вы будете видеть все основные функции сайта без каких либо ограничений<br>";}if(browser=="netscape"){d.all.bod.innerHTML="Вы используете браузер на основе ядра NETSCAPE полное имя"+navigator.userAgent+"<br>Детали:<br>Возможно вы будете испытывать трудности с некоторыми функциями сайта.Ваш браузер <i>НЕ</i> тестировался с данным сайтом но возможно что ошибочных ситуаций у вас не возникнет<br>";}}else alert("Ваш браузер"+navigator.appName+"Не поддерживается!");}//DYNAMIC TOP MENU//CHECKdgi_btest();function checkOver(){check_td.bgColor="9B9BFF";d.all.btest.style.color="white";}function checkOut(){check_td.bgColor="white";d.all.btest.style.color="2B2BFF";}//DETAILSfunction details(){d.all.details_td.bgColor="9B9BFF";d.all.details.style.color="white";if(browser!="MSIE6"){details_1p.style.visibility="visible";d.all.details_1p.bgColor="9B9BFF";}if(browser=="MSIE6"){d.all.details_1p.bgColor="9B9BFF";details_1p.filters.item(0).Apply();details_1p.style.visibility="visible";details_1p.filters.item(0).Play();}}//MAILfunction mail(){d.all.mail_td.bgColor="9B9BFF";d.all.mail.style.color="white";if(browser!="MSIE6"){mail_1p.style.visibility="visible";d.all.mail_1p.bgColor="9B9BFF";mail_2p.style.visibility="visible";d.all.mail_2p.bgColor="9B9BFF";}if(browser=="MSIE6"){d.all.mail_1p.bgColor="9B9BFF";d.all.mail_2p.bgColor="9B9BFF";mail_1p.filters.item(0).Apply();mail_1p.style.visibility="visible";mail_1p.filters.item(0).Play();mail_2p.filters.item(0).Apply();mail_2p.style.visibility='visible';mail_2p.filters.item(0).Play();}}//END//TECH SUPPORTfunction tech(){d.all.tech_td.bgColor="9B9BFF";d.all.tech.style.color="white";if(browser!="MSIE6"){tech_1p.style.visibility="visible";d.all.tech_1p.bgColor="9B9BFF";tech_2p.style.visibility="visible";d.all.tech_2p.bgColor="9B9BFF";}if(browser=="MSIE6"){d.all.tech_1p.bgColor="9B9BFF";d.all.tech_2p.bgColor="9B9BFF";tech_1p.filters.item(0).Apply();tech_1p.style.visibility="visible";tech_1p.filters.item(0).Play();tech_2p.filters.item(0).Apply();tech_2p.style.visibility='visible';tech_2p.filters.item(0).Play();}}//COMMSfunction comm(){d.all.comm_td.bgColor="9B9BFF";d.all.comm.style.color="white";if(browser!="MSIE6"){comm_1p.style.visibility="visible";d.all.comm_1p.bgColor="9B9BFF";comm_2p.style.visibility="visible";d.all.comm_2p.bgColor="9B9BFF";}if(browser=="MSIE6"){d.all.comm_1p.bgColor="9B9BFF";d.all.comm_2p.bgColor="9B9BFF";comm_1p.filters.item(0).Apply();comm_1p.style.visibility="visible";comm_1p.filters.item(0).Play();comm_2p.filters.item(0).Apply();comm_2p.style.visibility='visible';comm_2p.filters.item(0).Play();}}//OUT DYNAMIC FUNCTIONSfunction outTopTable(){if(browser!="MSIE6")out_top();if(browser=="MSIE6")out_top6();}function out_top(){d.all.details_td.bgColor="white";d.all.details.style.color="2B2BFF";d.all.mail_td.bgColor="white";d.all.mail.style.color="2B2BFF";d.all.tech_td.bgColor="white";d.all.tech.style.color="2B2BFF";d.all.comm_td.bgColor="white";d.all.comm.style.color="2B2BFF";details_1p.style.visibility="hidden";mail_1p.style.visibility="hidden";mail_2p.style.visibility='hidden';tech_1p.style.visibility="hidden";tech_2p.style.visibility="hidden";comm_1p.style.visibility="hidden";comm_2p.style.visibility="hidden";}function out_top6(){d.all.details_td.bgColor="white";d.all.details.style.color="2B2BFF";details_1p.filters.item(0).Apply();details_1p.style.visibility="hidden";details_1p.filters.item(0).Play();d.all.details.style.color="2B2BFF";mail_1p.filters.item(0).Apply();mail_1p.style.visibility="hidden";mail_1p.filters.item(0).Play();mail_2p.filters.item(0).Apply();mail_2p.style.visibility='hidden';mail_2p.filters.item(0).Play();d.all.mail_td.bgColor="white";d.all.mail.style.color="2B2BFF";tech_1p.filters.item(0).Apply();tech_1p.style.visibility="hidden";tech_1p.filters.item(0).Play();tech_2p.filters.item(0).Apply();tech_2p.style.visibility='hidden';tech_2p.filters.item(0).Play();d.all.tech_td.bgColor="white";d.all.tech.style.color="2B2BFF";comm_1p.filters.item(0).Apply();comm_1p.style.visibility="hidden";comm_1p.filters.item(0).Play();comm_2p.filters.item(0).Apply();comm_2p.style.visibility='hidden';comm_2p.filters.item(0).Play();d.all.comm_td.bgColor="white";d.all.comm.style.color="2B2BFF";}//END DYNAMIC TOP MENUfunction update(){if(browser=="MSIE6"||browser=="MSIE"){d.all.update.style.left="75%";d.write(document.lastModified);}if(browser=="moz106"||browser=="netscape"){d.all.update.style.left="68%";d.write(document.lastModified);}if(browser=="opera8"||browser=="opera"){d.all.update.style.left="70%";d.write(document.lastModified);}}function usersonline(){if(browser=="MSIE6"||browser=="MSIE"){d.all.usersonline.style.left="75%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}if(browser=="moz106"||browser=="netscape"){d.all.usersonline.style.left="68%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}if(browser=="opera8"||browser=="opera"){d.all.usersonline.style.left="70%";d.write("<font size=1>Сейчас пользователей на сайте:</font>");}}

INDEX0.STF

html{overflow-x:auto;}BODY{FONT-FAMILY:Tahoma;SCROLLBAR-FACE-COLOR:"e0c2c2";SCROLLBAR-TRACK-COLOR:"e7cccc";SCROLLBAR-SHADOW-COLOR:red;FONT-FAMILY:Tahoma,Arial;bottommargin:0;marginheight:0;marginwidth:0;rightmargin:0;leftmargin:0;topmargin:0;}A:LINK{TEXT-DECORATION:NONE;COLOR:2B2BFF;}A:ACTIVE{TEXT-DECORATION:NONE;COLOR:2B2BFF;}A:VISITED{TEXT-DECORATION:NONE;COLOR:2B2BFF;}A:HOVER{TEXT-DECORATION:NONE;COLOR:6F6FFF;}#rizlogoimg{POSITION:absolute;Z-INDEX:10;LEFT:0;TOP:15;}#top_list{visibility:visible;POSITION:absolute;Z-INDEX:11;LEFT:10;TOP:-2;}#details_1p{filter:revealTrans(Duration=0.3, Transition=1)}#mail_1p{filter:revealTrans(Duration=0.4, Transition=1)}#mail_2p{filter:revealTrans(Duration=0.4, Transition=1)}#tech_1p{filter:revealTrans(Duration=0.4, Transition=1)}#tech_2p{filter:revealTrans(Duration=0.4, Transition=1)}#comm_1p{filter:revealTrans(Duration=0.4, Transition=1)}#comm_2p{filter:revealTrans(Duration=0.4, Transition=1)}#outTab{Z-INDEX:0;visibility:visible;POSITION:absolute;Z-INDEX:1;LEFT:10;TOP:60;}#tech_sup_div{visibility:hidden;POSITION:absolute;Z-INDEX:11;LEFT:350;TOP:180;}#bod{FONT-SIZE:8pt;visibility:hidden}#close{POSITION:absolute;Z-INDEX:11;LEFT:281;TOP:0;}#update{POSITION:absolute;Z-INDEX:15;TOP:140;}#usersonline{POSITION:absolute;Z-INDEX:15;TOP:155;LEFT:75%}#two_menu{visibility:visible;POSITION:absolute;Z-INDEX:11;LEFT:8;TOP:115;}.mmenu:A:HOVER{TEXT-DECORATION:NONE;}

Вот полностью весь основной контент трёх файлов(специально все написал чтобы попробывать можно было)

Link to comment
Share on other sites

Привет,

а можеш скопировать сообщение об ошибки

Щото вроде "Warning! Cannot send headers - ouput already started in..." ?

P.S. у меня работаеть - показиваеть количество пользвателях

Edited by Darhazer
Link to comment
Share on other sites

Привет,

а можеш скопировать сообщение об ошибки

Щото вроде "Warning! Cannot send headers - ouput already started in..." ?

P.S. у меня работаеть - показиваеть количество пользвателях

205953[/snapback]

Warning: session_start():Cannot send session cookie - headers already sent in C:\wdps\web_site\index.php on line 1

Warning: session_start():Cannot send session cache limiter - headers already sent (output started at C:\wdps\web_site\index.php:1) in C:\wdps\web_site\index.php on line 1

тогда я вообще ничего не понимаю

Link to comment
Share on other sites

Привет сново

Провер пожалуйста, нету ли у тебе пробел или пустая строка перед <?

<?

session_start()

должно бит в самом начале документа

Link to comment
Share on other sites

Нет абсолютно ничего я даже прижимал начало сессии к <? уже всё перепробывал другие скрипты нормально работают в этом самом index.php нет больше никаких скриптов и кстати на хосте у меня тоже сессия не посылается :bleh:

А у тебя говоришь работает ? значит функция корректная

я уже не знаю что делать а подсчёт посетителей на сайте мне нужен по любому

Link to comment
Share on other sites

  • 2 weeks later...
Нет абсолютно ничего я даже прижимал начало сессии к <? уже всё перепробывал другие скрипты нормально работают в этом самом index.php нет больше никаких скриптов и кстати на хосте у меня тоже сессия не посылается  :D

205973[/snapback]

Истинно говорю - не начало сессии нужно прижимать к <?, a <? нужно прижимать к позиции 0:0 на странице. Т.е. ДО <? не должно быть никаких знаков и переводов строк!

Link to comment
Share on other sites

  • 4 months later...

помогите настроить php так, чтобы такие ошибки выдавал. у нас нет никаких ошибок, а клиент утверждает что есть:

Warning: session_start(): Cannot send session cookie - headers already sent by

Warning: session_start(): Cannot send session cache limiter - headers already sent by

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...