Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Текстовые смайлы равны графическим! Первод смайлов!

Сообщения:  [1-10]   [11-16] 

 
 автор: Panker   (11.02.2006 в 19:13)   письмо автору
 
   для: ZC   (11.02.2006 в 18:25)
 

GПосле двух дней насилования форума я выпотал это :)) Бпг сенкс ребята )

   
 
 автор: Drago   (11.02.2006 в 18:55)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

Раз файл с собщениями просто инклудится, то все, что нужно, так это справить в файле form.php
это

<?php
$str
='<b><a href="mailto:'.substr($_POST['email'], 030).'">'.htmlspecialchars(substr($_POST['val1'], 010)).'</b></a>'."<br><font size =2>".nl2br(htmlspecialchars(substr($_POST['val2'], 0100)));
?>

на вот это

<?php
$str
='<b><a href="mailto:'.substr($_POST['email'], 030).'">'.htmlspecialchars(substr($_POST['val1'], 010)).'</b></a>'."<br><font size =2>".str_replace(" =)","<img src=\"images/smile.GIF\">",nl2br(htmlspecialchars(substr($_POST['val2'], 0100))));
?>

   
 
 автор: ZC   (11.02.2006 в 18:25)   письмо автору
 
   для: kasmanaft   (11.02.2006 в 17:09)
 

Это можно сделать при помощи регулярных выражений. Спросите Хеопса

   
 
 автор: kasmanaft   (11.02.2006 в 17:20)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

<?php
if(empty($_SERVER['HTTP_REFERER']))
{
echo 
"Не хер умничать!!!";
exit();
}
if(!
ereg($_SERVER['SERVER_NAME'], $_SERVER['HTTP_REFERER']))
{
echo 
"Не хер умничать!!!";
exit();
}
if((!empty(
$_POST['val1']))&&(!empty($_POST['val2']))&&(!empty($_POST['email'])))
{

$msg nl2br(htmlspecialchars(substr($_POST['val2'], 0100)));
$msg str_replace("=)","<img src='images/smile.GIF'>",$msg);
$email substr($_POST['email'], 030);
$name htmlspecialchars(substr($_POST['val1'], 010));
$f fopen("msg.txt""w");
$str="<b><a href=mailto: $email>$name</a></b><br><font size =2>$msg";

fputs($f$str."<br>");
fclose($f);
}
header("Location: index.php");
?>


вообщем подправил чуть-чуь код... написано было, как бы сказать помягче :) не очень...
вы пытались добавлять сообщения в скрипт, их же обрабатывающий... теперь они будут в файле msg.txt (прада только последнее, правильнее было бы создавать файлы например с именем "времени" когда происходила запись)

чтобы добавить побольше смайлов нужно добавлять строчки типа
$msg = str_replace("=)","<img src='images/smile.GIF'>",$msg);
где "=)" - что следует замень
"<img src='images/smile.GIF'>" - на что...

теперь у вас новые проблемы :)) как забирать сообщения из файла и как бы сделать побольше этих файлов :)

   
 
 автор: kasmanaft   (11.02.2006 в 17:14)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

счас напишу :))

   
 
 автор: kasmanaft   (11.02.2006 в 17:09)   письмо автору
 
   для: Panker   (11.02.2006 в 16:55)
 

:)) наверное имелось ввиду в какой переменной... в файле должно храниться уже <img .....>, чтобы автоматом все делалось :)

нужно найти переменную, где хранится будующая запись...
пользователь написал сообщение вместе со всеми =) :) :lol: и т.д. затем в этой переменной, перед записью ее значения в файл, нужно заменить "=)" на адрес к картинке... для этого

<?php $var = str_replace(" =)","<img src='images/smile.GIF'>",$var); ?>

$var - это и есть в примере эта переменная...

   
 
 автор: Panker   (11.02.2006 в 17:04)   письмо автору
 
   для: Panker   (11.02.2006 в 16:55)
 

Блин корчое дело такое!
я перед тем как заджать вопрос и после того облазил весь фору по поиску! нашел кучу ответов но не 1 не подошел т.к не рабочий!!!!!!!!!!!!!!!!!!
3 дня тщу ответ по всяким фишкам и тут даже вон 4 ответа 3 идентичных! ))
Вот код inde.php

<script>
function insertsmile(dat)
{
form.val2.value += dat+' ';
form.val2.focus();
}
</script>
</head><body><style> textarea { border: 1px dashed Silver; } input { border: 1px dashed Silver; } </style>
<a href="javascript:insertsmile(' =)')"><img src="images/smile.gif"></a>
<form action="form.php" method="post" name=form>
Имя<br><input type="text" name="val1" size="20" maxlength="10">
Мыло<input type="text" name="email" size="20" maxlength="30"><br>
<textarea name="val2" rows="4" cols="20" ></textarea>
<br> <input type="submit" value="отправить"></td></p></form>
<?php include "panker.php"; ?></html>

FORM.PHP

<?php
if(empty($_SERVER['HTTP_REFERER']))
{//Это проверка есть ли реферер - если его нет то какой-то пидар заперся в этот файл не из формы а просто ввел в адресную строку
echo "Не хер умничать!!!";
exit();
}
if(!ereg($_SERVER['SERVER_NAME'], $_SERVER['HTTP_REFERER']))
{//Это проверка на то , откуда прислали данные, если их прислали с другого хоста - ругаемся
//Это для того чтоб злойдей не сохранял форму на жесткий не слал данные с локального комп
echo "Не хер умничать!!!";
exit();
}
if((!empty($_POST['val1']))&&(!empty($_POST['val2']))&&(!empty($_POST['email'])))
{//Проверка на заполненность данных, если хоть одно поле пустое данные не будут записываться
$f = fopen("panker.php", "a");
//Тут я убрал проверку на вводимы данные и добавли функцию htmlspecialchars - Это чтоб можно было безопасно вводит HTML
$str='<b><a href="mailto:'.substr($_POST['email'], 0, 30).'">'.htmlspecialchars(substr($_POST['val1'], 0, 10)).'</b></a>'
."<br><font size =2>".
nl2br(htmlspecialchars(substr($_POST['val2'], 0, 100)));
//Функция nl2br делает такие же переводы строк как и в форме. Т.е. если в форме нажмут на ентер, курсор перейдет на новую строчку, так потом будет показано и на экране.
//Если бы не эта функция то , если сообщение написано будет в несколько строк - на эране потом оно выведется в одну строку
fputs($f, $str."<br>");
fclose($f);
}
header("Location: index.php");
?>

и смайл чёрт ПОДЕРИ не вставить! помогите же наконец! весь форум облазил 1 овтет везде
репреси
$var = str_replace(" =)","<img src=\"images/smile.GIF\">",$var);
но это не действует! я и так и эдак и слеш туда и слуш сюда и без слеша путь писатьл и смайл так и эдак все пробывал!
index and form лежат в наале ну в домашней директории смайлы лежат в папке images формат GIF что ещё сказать не знаю =((

   
 
 автор: Panker   (11.02.2006 в 16:55)   письмо автору
 
   для: Drago   (11.02.2006 в 16:23)
 

в txt файле!

   
 
 автор: Drago   (11.02.2006 в 16:23)   письмо автору
 
   для: Panker   (11.02.2006 в 15:56)
 

Вот это, нужно писать в скрипте, который выводит сообщение на экран.

<?php $var str_replace(" =)","<img src=\"images/smile.GIF\">",$var); ?>

Как у тебя вообще сообщения хранятся?

   
 
 автор: Panker   (11.02.2006 в 15:56)   письмо автору
 
   для: Panker   (10.02.2006 в 21:46)
 

Ага смайлы в гостевухи не обезательны да? ))))))))

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования