ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 15 ноября 2016 — 18:47
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Есть простой и удобный чат на ajax, на файлах без базы данных SQL.
Но проблема в том, что он выводит из файла текст в абракадабре.
Пробовал уже и файлы сохранять в UTF-8
И прописывать в заголовках UTF-8
И даже различные функции кодировко в UTF-8 и обратно....
Ничто не помогает.

Скрипт очень простой.
Приэтом в файл log.html текст сообщений прописывпется не в абракадабре, а нормлаьно. Но выводится из него ломанным.

Вот файл который всё делает:

CODE:
<?
session_start();

if(isset($_GET['logout'])){

//Simple exit message
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'><i>User ". $_SESSION['name'] ." has left the chat session.</i><br></div>");
fclose($fp);

session_destroy();
header("Location: index.php"); //Redirect the user
}

function loginForm(){
echo'
<div id="loginform">
<form action="index.php" method="post">
<p>Please enter your name to continue:</p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" />
<input type="submit" name="enter" id="enter" value="Enter" />
</form>
</div>
';
}

if(isset($_POST['enter'])){
if($_POST['name'] != ""){
$_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name']));
}
else{
echo '<span class="error">Please type in a name</span>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Chat - Customer Module</title>
<link type="text/css" rel="stylesheet" href="style.css" />
</head>

<?php
if(!isset($_SESSION['name'])){
loginForm();
}
else{
?>
<div id="wrapper">
<div id="menu">
<p class="welcome">Welcome, <b><?php echo $_SESSION['name']; ?></b></p>
<p class="logout"><a id="exit" href="#">Exit Chat</a></p>
<div style="clear:both"></div>
</div>
<div id="chatbox"><?php
if(file_exists("log.html") && filesize("log.html") > 0){
$handle = fopen("log.html", "r");
$contents = fread($handle, filesize("log.html"));
fclose($handle);

echo $contents;
}
?></div>

<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" size="63" />
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
// jQuery Document
$(document).ready(function(){
//If user submits the form
$("#submitmsg").click(function(){
var clientmsg = $("#usermsg").val();
$.post("post.php", {text: clientmsg});
$("#usermsg").attr("value", "");
return false;
});

//Load the file containing the chat log
function loadLog(){
var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
$.ajax({
url: "log.html",
cache: false,
success: function(html){
$("#chatbox").html(html); //Insert chat log into the #chatbox div
var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20;
if(newscrollHeight > oldscrollHeight){
$("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
}
},
});
}
setInterval (loadLog, 2500); //Reload file every 2.5 seconds

//If user wants to end session
$("#exit").click(function(){
var exit = confirm("Are you sure you want to end the session?");
if(exit==true){window.location = 'index.php?logout=true';}
});
});
</script>
<?php
}
?>
</body
>
Может кто знает в чём дело?
 
 
Gori
Отправлено: 15 ноября 2016 — 18:49
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Вот так выглядит:
Прикреплено изображение
Screenshot_1.jpg

 
 
NordWest
Отправлено: 15 ноября 2016 — 19:39
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 994
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 76




Откуда вы этот код взяли и как вы его подключаете?
 
 
Gori
Отправлено: 15 ноября 2016 — 20:15
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




NordWest пишет:
Откуда вы этот код взяли и как вы его подключаете?

В прищепке все файлы.

Скачать файл: (для скачивания файла Войдите или зарегистрируйтесь)
Скачан раз: 2
 
 
NordWest
Отправлено: 15 ноября 2016 — 20:37
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 994
Дата рег-ции: Дек. 2011  
Откуда: Северо-Запад
Репутация: 76




Замените в файле post.php код на следующий
CODE:
<?php
session_start();
if(isset($_SESSION['name']))
{
$text = stripslashes(htmlspecialchars($_POST['text']));
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'><b>".$_SESSION['name']."</b>: ". iconv("UTF-8", "cp1251", "$text") ."<br></div>");
fclose($fp);
}
?>
 
 
Gori
Отправлено: 15 ноября 2016 — 21:29
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




NordWest , спасибо. Завтра потестю.
Круто Превосходно
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Проблема с киррилицей в jquery, ajax
Темы Форум Информация о теме Обновление
хочу поделиться своим маленьким дополнением
Добавил на страничку сплываюшие картинки ajax, с выпадением меню)
JavaScript Ответов: 16
Автор темы: FoXaV
16 июня 2011 — 14:23
Автор: electron
Ошибка при загрузке аватары пользователем.
Проблема с загрузкой аватар
Решение проблем Ответов: 12
Автор темы: Necrodriver
28 января 2011 — 15:13
Автор: BON
Неактивные ссылки
Проблема.
Общие вопросы Ответов: 45
Автор темы: Sasa1
3 мая 2012 — 15:07
Автор: BON
Защитный код регистрации
Проблема отображения защитного кода регистрации
Настройка форума Ответов: 8
Автор темы: Юра
20 апреля 2010 — 16:42
Автор: Юра
Мод: Чат на форуме (Beta)
Ajax-чат для ExBB FM
Модификации и дополнения Ответов: 252
Автор темы: yura3d
26 октября 2009 — 19:17
Автор: electron
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.067]     [ ]