Ошибка в классе чата

zeltais

Новичок
Ошибка в классе чата

Делаю чат с использованием классов ...
в какой то момент выдал ошибку
Fatal error: Class declarations may not be nested in /home/craze/public_html/chat/classes.php on line 302
на этой стрке у меня начало определения класса
class TMessages {
....
искал в мане вроде ничего такого не нашёл :(
помогите плзз кто встречался с такой проблемой !
 

StUV

Rotaredom
попробуй перенести определение класса в начало скрипта
 

StUV

Rotaredom
:)
а ты попробуй
(вообще лучше вынести описания клссов в отдельный файл и инклудить его при надобности)
 

zeltais

Новичок
теперь
Parse error: parse error, unexpected $ in /home/craze/public_html/chat/classes.php on line 362
 

tony2001

TeaM PHPClub
нельзя писать:
class Some {
class Some2 {
}
}

нужно делать так:
class Some {
}
class Some2 extends Some {
}

читайте мануал и правила форума.
 

zeltais

Новичок
да я это знаю просто до исправления маленького кусочка кода отвечающего за выод сообщений...
ничего принципиально не менял...всё перестало работать....
вот как....
а перед этим всё было ОК
 

StUV

Rotaredom
что менял ? на что ? зачем ? ....
(если, конечно, помощь нужна)
 

zeltais

Новичок
нужна помощь...
там был класс выода пользователей
он прост выводил тех кто есть в таблице online циклом
а я захотел чтобы он выодил по статусам и этот цыкл повторил 4 раза (у меня 4 статуса в чате) тока изменив запрос
добавив к нему where status='1'
после этого всё перестало работать...
 

zeltais

Новичок
PHP:
function TUsers_Cheking (){
  include "sql.php";
  clearstatcache();
  $currenttime = getdate(time()); 
  $currentdate = $currenttime["0"]; 
  $querystat="select status from Register where nick='$this->chatuser'";$resultstat = mysql_query($querystat, $link); $rowstat=mysql_fetch_array($resultstat);$status=$rowstat[status];
  echo "Ник :$this->chatuser<br>Статус: $status<br><hr>";
  
  //создатели выводим
  echo "&ntilde;&icirc;&ccedil;&auml;&agrave;&ograve;&aring;&euml;&egrave;<br>";
  //берём юзеров Создателей ипоказываем
  $query="select nick,otime,status from online where status='создатель' GROUP BY nick";
  $result = mysql_query($query, $link) or die("SELECT error".mysql_error());
  while ($row=mysql_fetch_array($result)) 
  {

    if ($currentdate-$row[otime]>$this -> awaytime && $currentdate-$row[otime]<$this->delay){
      echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a> (молчит) <br>\n";
	}
	
    if ($currentdate-$row[otime]>$this->delay){
	  $query="DELETE from online where nick='$row[nick]'";
      mysql_query($query, $link) or die("SELECT error".mysql_error());
	  
	}
	else if ($currentdate-$row[otime]<$this->delay && $currentdate-$row[otime]<$this->awaytime) {
	  echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a><br>\n";	
    }
  }
  
  //вожди
  echo "вожди<br>";
  
  $query="select nick,otime,status from online where status='вождь' GROUP BY nick";
  $result = mysql_query($query, $link) or die("SELECT error".mysql_error());
  while ($row=mysql_fetch_array($result)) 
  {

    if ($currentdate-$row[otime]>$this -> awaytime && $currentdate-$row[otime]<$this->delay){
      echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a> (молчит) <br>\n";
	}
	
    if ($currentdate-$row[otime]>$this->delay){
	  $query="DELETE from online where nick='$row[nick]'";
      mysql_query($query, $link) or die("SELECT error".mysql_error());
	  
	}
	else if ($currentdate-$row[otime]<$this->delay && $currentdate-$row[otime]<$this->awaytime) {
	  echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a><br>\n";	
    }
  
  
    //Бати
  echo "Бати<br>";
  
  $query="select nick,otime,status from online where status='Батя' GROUP BY nick";
  $result = mysql_query($query, $link) or die("SELECT error".mysql_error());
  while ($row=mysql_fetch_array($result)) 
  {

    if ($currentdate-$row[otime]>$this -> awaytime && $currentdate-$row[otime]<$this->delay){
      echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a> (молчит) <br>\n";
	}
	
    if ($currentdate-$row[otime]>$this->delay){
	  $query="DELETE from online where nick='$row[nick]'";
      mysql_query($query, $link) or die("SELECT error".mysql_error());
	  
	}
	else if ($currentdate-$row[otime]<$this->delay && $currentdate-$row[otime]<$this->awaytime) {
	  echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a><br>\n";	
    }
  
    //крохи
  echo "крохи<br>";
  
  $query="select nick,otime,status from online where status='кроха' GROUP BY nick";
  $result = mysql_query($query, $link) or die("SELECT error".mysql_error());
  while ($row=mysql_fetch_array($result)) 
  {

    if ($currentdate-$row[otime]>$this -> awaytime && $currentdate-$row[otime]<$this->delay){
      echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a> (молчит) <br>\n";
	}
	
    if ($currentdate-$row[otime]>$this->delay){
	  $query="DELETE from online where nick='$row[nick]'";
      mysql_query($query, $link) or die("SELECT error".mysql_error());
	  
	}
	else if ($currentdate-$row[otime]<$this->delay && $currentdate-$row[otime]<$this->awaytime) {
	  echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a><br>\n";	
    }
  
    //соски
  echo "соски<br>";
  
  $query="select nick,otime,status from online where status='соска' GROUP BY nick";
  $result = mysql_query($query, $link) or die("SELECT error".mysql_error());
  while ($row=mysql_fetch_array($result)) 
  {

    if ($currentdate-$row[otime]>$this -> awaytime && $currentdate-$row[otime]<$this->delay){
      echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a> (молчит) <br>\n";
	}
//если долго молчит удаляем...	
    if ($currentdate-$row[otime]>$this->delay){
	  $query="DELETE from online where nick='$row[nick]'";
      mysql_query($query, $link) or die("SELECT error".mysql_error());
	  
	}
	else if ($currentdate-$row[otime]<$this->delay && $currentdate-$row[otime]<$this->awaytime) {
	  echo "<a href='' onkeypress=\"document.forms[0].message.focus()\" onclick=\"i=top.down.document.forms.send_form.item('message');i.value=i.value +'$row[nick]';return false \">$row[nick]</a><br>\n";	
    }
  
  
  
  
 
}  
}
 

StUV

Rotaredom
что_на_что_менял ? какие ошибки выскакивают ?
(покажи только этот кусок :)
 

zeltais

Новичок
у меня был один цыкл выода юзеров
и запрос был без where status='статус'
а просто всех...и потом печатал...
я взял этот кусок копирнул 5 раз
изменил запрос и написал перед каждым выводом
PHP:
echo "<b>имя статуса</b><br>";
всё....
 
Сверху