Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите скрестить фрейм с чатом.  (Прочитано 5091 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Master
Гость
« : 21-10-2004 15:02 » 

В общем такая ситуация, есть стартовая страница чата index.php, на которой пользователь регистрируется и входит в чат. Вот её код:
Цитата
<?
$fn = "preferences.php";
if (is_file($fn) && is_readable($fn)) require ($fn);
$filename = "logins.php";
if (!is_file($filename) && !is_readable($filename)) {
        echo "<center>Файл '$filename' не найден или из него нельзя читать!</center>";
        exit();
}
$im = array("<img src=sources/green.gif>", "<img src=sources/yellow.gif>", "<img src=sources/blue.gif>", "<img src=sources/red.gif>");
$f = file($filename);
$vsego = 0;
sort($f);
function girls() {
global $f, $vsego, $im;
        echo "<br><b>Девушки</b><br><br>";
        for ($i = 0; $i < count($f); $i++) {
                $mas = explode("|", $f[$i]);
                if ($mas[9] == "/a") $n = 0;
                else if ($mas[9] == "/b") $n = 1;
                else if ($mas[9] == "/c") $n = 2;
                else if ($mas[9] == "/d") $n = 3;
                if (($mas[3] == "*g*") && ($mas[0] == "Admin") && ($mas[5] == "*on*")) {
                        $vsego++;
                        echo "$im[$n] <b><font id=b> $mas[0] </font></b><br>";
                }
                else if (($mas[5] == "*on*") && ($mas[3] == "*g*")) {
                                $vsego++;
                                echo "$im[$n] $mas[0]<br>";
                        }
        }
}
function boys() {
global $f, $vsego, $im;
        echo "<br><b>Парни</b><br><br>";
        for ($i = 0; $i < count($f); $i++) {
                $mas = explode("|", $f[$i]);
                if ($mas[9] == "/a") $n = 0;
                else if ($mas[9] == "/b") $n = 1;
                else if ($mas[9] == "/c") $n = 2;
                else if ($mas[9] == "/d") $n = 3;
                if (($mas[3] == "*m*") && ($mas[0] == "Admin") && ($mas[5] == "*on*")) {
                        $vsego++;
                        echo "$im[$n] <b><font id=b> $mas[0] </font></b><br>";
                }
                else if (($mas[5] == "*on*") && ($mas[3] == "*m*")) {
                        $vsego++;
                        echo "$im[$n] $mas[0]<br>";
                        </script>
                        <?
                }
        }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>COSMO-CHAT</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" src="sources/scripts.js"></script>
<link rel="stylesheet" type="text/css" href="sources/styles.css">
</head>
<body onLoad="document.f.login.focus();">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="351" valign="top">
      <table width="80%" border="0" align="center" style="border: 1px #D0D0D0 solid">
        <tr>
          <td bgcolor="#DDEEFF" class="main">Сейчас в чате</td>
          <td bgcolor="#DDEEFF" class="main">Вход в чат</td>
        </tr>
        <tr>
          <td valign="top" height="96">
                <?
                girls();
                boys();
                echo "<br><br><b>Всего в чате:</b> $vsego";
                ?>
                  </td>
          <td height="96" valign="top">
            <table width="100%" align="center" cellpadding="0" cellspacing="0" id="b">
              <form action="INFR.htm" method="post" name="f">
                <tr>
                  <td width="25%" height="26">Логин</td>
                  <td width="75%"><input type="text" maxlength="15" name="login" style="width: 300"></td>
                </tr>
                <tr>
                  <td>Пароль</td>
                  <td><input type="password" maxlength="15" name="pass" style="width: 300">
                    <input name="subm" type="submit" value="Войти" id="button"></td>
                </tr>
                <tr>
                  <td height="17" colspan="2">&nbsp;</td>
                </tr>
                <tr>
                  <td height="16" colspan="2"> <center>
                      <a href='#' onClick="window.open('reg.php', '_blank', 'width=400 height=215 scrollbars=no resize=no')">Регистрация</a>
                      | <a href="#" onClick="window.open('restore.php', '_blank', 'width=400 height=25 scrollbars=no resize=no')">Забыли
                      пароль?</a> | <a href="mailto:<? echo $em ?>">Написать
                      администратору</a> </center></td>
                </tr>
                <tr>
                  <td height="2" colspan="2"> <p>&nbsp;</p>
</td>
                </tr>
              </form>
            </table></td>
        </tr>
      </table></td>
  </tr>
</table>
</body>
</html>


Вот что я хочу: что бы после регистрации пользователь попадал на страницу фрейм, разделённую на две части. В верхней части сам сайт, в нижней части чат, как в БК. Для этого я создал такую страницу INFR.htm, вот её код:

Цитата
<html>

<head>
<title>This page contains frames.</title>
</head>

<frameset rows="75%, 25%">
    <frame src="IN1.htm">
    <frame src="online.php">
    <noframes>
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <p>This page contains frames. You need a Web browser that supports frames
    to view this page correctly.</p>
    </body>
    </noframes>
</frameset>

</html>


То есть получается что пользователь после ввода логина и кода попадает на эту страницу. В верхней части находится сам сайт, там всё нормально работает, а в нижней должен находится уже активный чат, код этой страницы чата online.php ниже:

Цитата
global $st, $filename, $color, $login, $host, $tvoipol, $intop;
$fn = "preferences.php";
if (is_file($fn) && is_readable($fn)) require ($fn);
$filename = "logins.php";
if (!is_file($filename) || !is_writable($filename)) {
        echo "<center>Файл '$filename' не найден или в него нельзя писать!</center>";
        exit();
}
//-------------------------
function chk() {
global $login, $pass, $filename;
        $flag = 0;
        $mass = file($filename);
        for ($i = 0; $i < count($mass); $i++) {
                $newmass = explode("|", $mass[$i]);
                if (($login == $newmass[0]) && ($pass == $newmass[1])) {
                        $flag = 1;
                }
        }
        if ($flag == 0) {
                echo "<center><b><font face=Arial color=#FF0000 size=3>Не правильный логин или пароль!</font></b><center>";
                exit();
        }
}
//------------
function dead() {
global $login, $REMOTE_ADDR, $em;
        $fn = "banlogin.php";
        if (!is_file($fn) || !is_readable($fn)) {
                echo "<center>Файл '$fn' не найден или из него нельзя читать!</center>";
                exit();
        }
        $f = file($fn);
        if ($f) for ($i = 0; $i < count($f); $i++) {
                $m = explode("|", $f[$i]);
                $d1 = date("d");
                $d2 = date("m");
                $d3 = date("Y");
                $t = date("H:i:s");
                if ($login == $m[0]) {
                        $m1 = explode(".", $m[1]);
                        if ($d3 < $m1[2]) {
                                echo "<center><b><font face=Arial color=#FF0000 size=3>Логин $login заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                exit();
                        } else if (($d3 == $m1[2]) && ($d2 < $m1[1])) {
                                                echo "<center><b><font face=Arial color=#FF0000 size=3>Логин $login заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                exit();
                                        } else if (($d3 == $m1[2]) && ($d2 == $m1[1]) && ($d1 < $m1[0])) {
                                                                echo "<center><b><font face=Arial color=#FF0000 size=3>Логин $login заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                                exit();
                                                        } else if (($d1 == $m1[0]) && ($d2 == $m1[1]) && ($d3 == $m1[2]) && ($t < $m[2])) {
                                                                                echo "<center><b><font face=Arial color=#FF0000 size=3>Логин $login заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                                                exit();
                                                                        }
                }
        }
        if(isset($HTTP_X_FORWARDED_FOR)){
        $hostname = gethostbyaddr($HTTP_X_FORWARDED_FOR);
        } else {$hostname=gethostbyaddr($REMOTE_ADDR);}
        $hostip=gethostbyname("$hostname");
        $fn = "banip.php";
        if (!is_file($fn) || !is_readable($fn)) {
                echo "<center>Файл '$fn' не найден или из него нельзя читать!</center>";
                exit();
        }
        $f = file($fn);
        if ($f) for ($i = 0; $i < count($f); $i++) {
                $m = explode("|", $f[$i]);
                $d1 = date("d");
                $d2 = date("m");
                $d3 = date("Y");
                $t = date("H:i:s");
                if ($hostip == $m[0]) {
                        $m1 = explode(".", $m[1]);
                        if ($d3 < $m1[2]) {
                                echo "<center><b><font face=Arial color=#FF0000 size=3>IP-адрес $hostip заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                exit();
                        } else if (($d3 == $m1[2]) && ($d2 < $m1[1])) {
                                                echo "<center><b><font face=Arial color=#FF0000 size=3>IP-адрес $hostip заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                exit();
                                        } else if (($d3 == $m1[2]) && ($d2 == $m1[1]) && ($d1 < $m1[0])) {
                                                                echo "<center><b><font face=Arial color=#FF0000 size=3>IP-адрес $hostip заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                                exit();
                                                        } else if (($d1 == $m1[0]) && ($d2 == $m1[1]) && ($d3 == $m1[2]) && ($t < $m[2])) {
                                                                                echo "<center><b><font face=Arial color=#FF0000 size=3>IP-адрес $hostip заблокирован до <u>$m[1] | $m[2]</u><br><br><br>С вопросами обращаться по адресу <a href='mailto:$em'>$em</a></font></b><center>";
                                                                                exit();
                                                                        }
                }
        }
}
function chat() {
global $login, $filename, $pol, $status, $REMOTE_ADDR, $HTTP_USER_AGENT;
        if(isset($HTTP_X_FORWARDED_FOR)){
        $hostname = gethostbyaddr($HTTP_X_FORWARDED_FOR);
        } else {$hostname=gethostbyaddr($REMOTE_ADDR);}
        $hostip=gethostbyname("$hostname");
        $sys = $HTTP_USER_AGENT;
        $d = date("d.m.Y - H:i:s");
        $con = file($filename);
        for ($i = 0; $i < count($con); $i++) {
                $m = explode("|", $con[$i]);
                if (($m[0] == $login) && strstr($m[5], "*on*")) {
                        echo "<center><b><font face=Arial color=#FF0000 size=3>Такой логин уже в чате!</font></b><center>";
                        exit();
                } else if (($m[0] == $login) && ($m[5] == "*off*")) {
                                        $con[$i] = str_replace("*off*", "*on*", $con[$i]);
                                        $con[$i] = str_replace($m[12], $sys, $con[$i]);
                                        $con[$i] = str_replace($m[10], $hostip, $con[$i]);
                                        $con[$i] = str_replace($m[14], $d, $con[$i]);
                                        $star = $m[7];
                                        break;
                                }
        }
        $f = fopen($filename, "w");
        for ($i = 0; $i < count($con); $i++) {
                $con[$i] = trim(str_replace("\n", "", $con[$i]));
                fwrite($f, "$con[$i]\n");
        }
        fclose($f);
        if (!is_dir("data")) {
                echo "<center><b><font face=Arial color=#FF0000 size=3>Нет папки для отчетов!</font></b><center>";
                exit();
        }
        $dname = date("d.m.Y");
        $fn = "data/$dname.php";
        $f = fopen($fn, "a+") or die("Не могу писать в файл!");
        $d = date('H:i:s');
        if ($status == "admin") fwrite($f, "$d||:s||:$star||:$login\n");
        else fwrite($f, "$d||:s||:$star||:$login\n");
        fclose($f);
?>
<html>
<head>
<title>COSMO-CHAT</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<script language="JavaScript" src="sources/scripts.js"></script>
<link rel="stylesheet" type="text/css" href="sources/styles.css">
<frameset cols="50,*" frameborder="no" border="0" framespacing="0">
  <frame src="smiles.php" name="leftFrame" scrolling="auto" noresize>
  <frameset rows="*,70" cols="*" framespacing="0" frameborder="no" border="0">
    <frameset cols="*,160" frameborder="no" border="0" framespacing="0">
      <frameset rows="353,80" cols="*" framespacing="0" frameborder="yes" border="0">
        <frameset rows="0,*" frameborder="no" border="0" framespacing="0">
                  <frame src="null.php" name="topFrame1" scrolling="NO" noresize >
                  <frameset rows="0,*" frameborder="no" border="0" framespacing="0">
                  <frame src="all.php" name="topFrame2" scrolling="NO" noresize>
                  <frame src="chat.php" name="topFrame" scrolling="auto">
                </frameset>
                </frameset>
        <frame src="private.php" name="mainFrame" scrolling="auto">
      </frameset>
         <frameset rows="0,*" frameborder="no" border="0" framespacing="0">
  <frame src="users.php" name="topFrame3" scrolling="NO" noresize >
  <frame src="usr.php" name="rightFrame" scrolling="auto" noresize>
</frameset>
        </frameset>
    <frame src="mess.php" name="bottomFrame" scrolling="NO" noresize>
  </frameset>
</frameset>
<noframes><body>
</body></noframes>
</html>
<?
}
if ($login) {
        dead();
        chk();
        session_start();
        $mass = file($filename);
        for ($i = 0; $i < count($mass); $i++) {
                $newmass = explode("|", $mass[$i]);
                if ($login == $newmass[0]) {
                        $st = $newmass[4];
                        $color = $newmass[6];
                        $host = $newmass[10];
                        $tvoipol = $newmass[3];
                        $intop = $newmass[13];
                        break;
                }
        }
        session_register('name', 'status', 'col', 'refresh', 'ipnow', 'sob', 'gender', 'top');
        $name = $login;
        $status = $st;
        $col = $color;
        $refresh = $l_obn;
        $ipnow = $host;
        $sob = $l_soob;
        $gender = $tvoipol;
        $top = $intop;
        chat();
} else {
                echo "<center><b><font face=Arial color=#FF0000 size=3>Не введен логин или пароль!</font></b><center>";
                exit();
        }
?>


По моим догадкам всё должно было работать… Но видимо я совсем чайник и не соображаю в PHP. Нечего не работает… Пользователь вводит код и логин и попадает на INFR.htm, её код см. выше, в верхней части страницы открывается сам сайт, там всё Ок… А вот в нижней за место активного сайта, файл online.php,  пишется что «не введён логин или код»… По моим соображениям  просто в файл  online.php не передаются переменные из файла index.php… Пожалуйста помогите сделать эти страницы функциональными… пожалуйста-з-з-з-з, иначе мне придётся застрелиться…
Неработающий пример здесь nogame.ru/top/ index.php
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines