Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » смайлы в гостевухе

Ответить
Настройки темы
смайлы в гостевухе

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


Сообщения: 68
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


приветствую всех.
Нужно сделать смйлы для гостеквухи.
вот функция для вставки смайлов в текстареа:
PHP код: Выделить весь код

<SCRIPT LANGUAGE="JavaScript">

           function 
InsertSmile(smile){
                      var 
txt document.getElementById('txt_message');
                      
txt.value+=':'+smile+':';
            }
</script> 

вот код скрипта который берет из папки smiles имена файлов и прописывает
их в базе для дальнейшего использования.. а затем выводить сами смайлы..этот
код у меня стоит в <div>
PHP код: Выделить весь код

$dir=opendir("smiles");

$file=readdir($dir);
$file=readdir($dir);
$i=0;
include(
"database.php");
while((
$file=readdir($dir))!==false)
{
 
$i++;
 
$st=explode(".",$file);
 
$sql=("INSERT INTO smiles ( 'id' , 'code' , 'source' , 'theme' ) VALUES ('', ':".$st[0].":', 'smiles/".$file."', '');");
 
mysql_query($sql);
 echo(
" <img src='smiles/".$file."' onclick='InsertSmile(\"".$st[0]."\")'</img>");
 if(
$i==6){echo("<br>");$i=0;}


code - поле вида :smile_name:
source - то на что мы заменяем code
ну и собственно кусок кода который обрабатывает все сообщение
PHP код: Выделить весь код

$sql2="SELECT * FROM smiles";

        
$smile_query=mysql_query($sql2);
        
$msg=0;
        while(
$smile_array=mysql_fetch_array($smile_query)){
            
$msg=str_replace($smile_array['code'],"<img src='".$smile_array['source']."'>",$msg);
        } 

Сама таблица smiles имеет такой вид:
id code source theme
1 :sm0: sm0.gif
2 :sm1: sm1.gif
Вобщем проблема такая:
по нажатию на каждый смайл, в текстарею вставляется что-то типа :sm1: а потом, когда сообщение уже создано, :sm1: не заменяется на картинку sm1.gif
Подскажите, что делать?

-------
Mavlyudov


Отправлено: 00:08, 20-04-2006

 

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Сайт | Отправить PM | Цитировать


Забавненько... $msg=0. В ноле маловероятно, что найдется даже двоеточие. Я так полагаю это очепятка при вставке кода в топик? Попробуйте непосредственно, для теста, вывести после цикла содержимое $msg, а в самом цикле повыводите значения массива $smile_array по ключам code и source. Т.е. так:
PHP код: Выделить весь код

$sql2="SELECT * FROM smiles"
        
$smile_query=mysql_query($sql2); 
        
$msg=$_POST['msg'];  //если поле формы по отправке сообщения имеет именно такое name
        
while($smile_array=mysql_fetch_array($smile_query))
           { 
            
$msg=str_replace($smile_array['code'],"<img src='".$smile_array['source']."'>",$msg); 
            echo 
$smile_array['code'].'->'.$smile_array['source'].'<br>';
           }
        echo 
$msg

Что получается в исходном коде странички? Может какие-то несоотвествия между предполагаемыми значениями того ЧТО меняем и теми, что лежат в БД?

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 01:39, 20-04-2006 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » смайлы в гостевухе

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты. Guestbook 1.2.1 c softtime.ru и смайлы. Fonduee Вебмастеру 8 16-08-2007 23:56
Смайлы MaxFactor Вебмастеру 3 01-07-2003 10:06




 
Переход