Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 25.04.2024 - 23:34:06
Страницы:  1  2  3  ... 6

Личные сообщения

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

АвторСообщение

Андрей

А
Участник форума

Скачал мод личных сообщений, установил блок в tools.php - вот код:


Код:


if ($_GET['event'] =="message") {
error_reporting(0);
$wrfc=$_COOKIE['wrfcookies']; $wrfc=htmlspecialchars($wrfc); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $go = $wrfname;
if (!isset($_COOKIE['wrfcookies'])) {exit("<BR><BR><font size=+1><center>Только зарегистрированные участники форума могут пользоваться ЛС!");}
$messagedat="message.dat";
if ($_GET['action']==null or $_GET['action']==""){$_GET['action']="inbox";}
print "<table style='border-collapse: collapse; width: 100%'><tr><td colspan=\"2\" class=\"zag\"><h3>Личные сообщения</h3></td></tr>";
print "<tr><td class=\"tds\"><center><br/><br/><a href=\"tools.php?event=message&action=inbox\" class=\"add\">Входящие</a><br/><br/></center></td><td class=\"tds\"><center><br/><br/><a href=\"tools.php?event=message&action=write\" class=\"add\">Написать сообщение</a><br/><br/></center></td></tr></table><br/><div class=error>Мы совсем недавно ввели этот сервис. Пока он работает плохо. Скоро он будет запущен в полную силу. Извините за неудобства.</div>";
if ($_GET['action'] =="inbox") {
print "<br/><table style=\"border-collapse: collapse; width: 100%\"><tr><td colspan=\"3\" class=\"zag\"><h3>Входящие</h3></td></tr>";
$alinks=array();
if(!isset($linkFile)) $linkFile=$messagedat;
$lines=file($linkFile) or die("Can't open $linkFile ");
while ($line=array_shift($lines)){
list($a["id"],$a["text"],$a["url"],$a["desc"],$a["who"])=explode("|",$line);
array_push($alinks,$a);
}
if(!empty($go))
foreach($alinks as $lk){
if($lk["id"]==$go) { echo "<tr><td width=\"15%\" style=\"background: green; color: white\" align=\"center\">От кого ↓</td><td width=\"27%\" style=\"background: green; color: white\" align=\"center\">Тема ↓</td><td width=\"58%\" style=\"background: green; color: white\" align=\"center\">Сообщение ↓</td><tr><td class=\"ths\"><a href=tools.php?event=profile&pname=".$lk["desc"].">".$lk["desc"]."</a></td><td class=\"tds\"> <b>".$lk["text"]."</b>:</td><td class=\"tds\"> ".$lk["url"]."</td></tr>";
}}}
print "</table>";
if ($_GET['action'] =="write") {
if ($_GET['function'] =="submit") {
function str($str) {
$str = preg_replace("/[^а-яа-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 100) {
$str = substr ($str, 0, 100);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
function str_theme($str) {
$str = preg_replace("/[^а-яа-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 30) {
$str = substr ($str, 0, 30);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
$theme = $_POST['theme']; $msg = $_POST['msg'];
$text=str($_POST['who'])."|".str_theme($theme)."|".str($msg)."|".str($wrfname);
/// Блок добавления информации в БД
$text=trim($text);
$fp=fopen($messagedat,"a+");
flock ($fp,LOCK_EX);//блокировка файла
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
@chmod("$fp", 0600);
print "<br/><div class=\"noerror\">Сообщение успешно отправлено!</div><br/>";
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=tools.php?event=message\">";
exit; }
print "<br/><table style=\"border-collapse: collapse; width: 100%\">
<tr><td colspan=\"2\" class=\"zag\"><h3>Написать сообщение</h3></td>
</tr><tr>
<form action=\"tools.php?event=message&action=write&function=submit\" method=post>
<tr><td class=\"ths\" width=\"30%\"><b>                Кому:</b><br/></td><td class=\"tds\"><input type=text size=83 name=who class=\"form\"><br/></td></tr>
<tr><td class=\"ths\" width=\"30%\"><b>                Тема:</b></td><td class=\"tds\"><input type=text size=83 name=theme class=\"form\"></td></tr>
<tr><td colspan=\"2\" class=\"tds\"><center><textarea name=msg cols=180 rows=10 class=\"form\"></textarea></center></td></tr>
<tr><td colspan=\"2\" align=\"center\" class=\"ths\"><br/><center><input type=\"submit\" value=\"Отправить\" class=\"formbutton\"> <input type=\"reset\" value=\"Очистить\" class=\"form\"></center><br/></td></tr>";
print "</table></form>";
}}

сообщения не отправляются. Может надо что-то еще добавить или заменить в index.php? или этот скрипт ваще не рабочий, или у меня ошибки?

Помогите!

P. s. сообщения отправлются только участникам, имена кооторых начинаются с маленькой буквы.

Сообщение # 1 15.11.10 - 16:58:20

Sco-R-piO

S
Участник форума

Андрей, держи рабочий код:
Код:

if ($_GET['event'] =="message") {
error_reporting(0);
$wrfc=$_COOKIE['wrfcookies']; $wrfc=htmlspecialchars($wrfc); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $go = $wrfname;
if (!isset($_COOKIE['wrfcookies'])) {exit("<BR><BR><font size=+1><center>Только зарегистрированные участники форума могут пользоваться ЛС!");}
$messagedat="message.dat";
if ($_GET['action']==null or $_GET['action']==""){$_GET['action']="inbox";}
print "<center><span class=maintitle>Личные сообщения</span>
";
print "<BR><a href=tools.php?event=message&action=inbox>Входящие</a> | <a href=tools.php?event=message&action=write>Написать сообщение</a><BR><BR>";
if ($_GET['action'] =="inbox") {
print "<table cellpadding=3 cellspacing=1 width=100% class=forumline>
<tr><th class=thHead colspan=2 height=25 valign=middle>Входящие</th></tr>";
$alinks=array();
if(!isset($linkFile)) $linkFile=$messagedat;
$lines=file($linkFile) or die("Can't open $linkFile ");
while ($line=array_shift($lines)){
list($a["id"],$a["text"],$a["url"],$a["desc"],$a["who"])=explode("|",$line);
array_push($alinks,$a);
}
if(!empty($go))
foreach($alinks as $lk){
if($lk["id"]==$go) { echo "<tr><td class=row2 colspan=2><span class=gensmall>(от <a href=tools.php?event=profile&pname=".$lk["desc"].">".$lk["desc"]."</a>) <b>".$lk["text"]."</b> : ".$lk["url"]."</span></td></tr>";
}}}
print "</table>";
if ($_GET['action'] =="write") {
if ($_GET['function'] =="submit") {
function str($str) {
$str = preg_replace("/[^а-яa-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 100) {
$str = substr ($str, 0, 100);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
function str_theme($str) {
$str = preg_replace("/[^а-яa-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 30) {
$str = substr ($str, 0, 30);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
$theme = $_POST['theme']; $msg = $_POST['msg'];
if ((strlen($theme) < 4) || (ereg("[^a-zA-Z0-9_-]",$theme))){@header(print "Поле содержит менее 4 символов<BR><a href=javascript:history.back(1);>Назад</a>");exit;};
if ((strlen($msg) < 4) || (ereg("[^a-zA-Z0-9_-]",$msg))){@header(print "Поле содержит менее 4 символов<BR><a href=javascript:history.back(1);>Назад</a>");exit;};
$text=str($_POST['who'])."|".str_theme($theme)."|".str($msg)."|".str($wrfname);
/// Блок добавления информации в БД
$text=trim($text);
$fp=fopen($messagedat,"a+");
flock ($fp,LOCK_EX);//блокировка файла
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
@chmod("$fp", 0600);
print "<center>Сообщение Отправленно !</center>";
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=tools.php?event=message\">";
exit; }
print "<table cellpadding=3 cellspacing=1 width=100% class=forumline>
<tr><th class=thHead colspan=2 height=25 valign=middle>Написать сообщение</th>
</tr><tr>
<td class=row2 colspan=2><span class=gensmall>
<form action=\"tools.php?event=message&action=write&function=submit\" method=post>
<table cellpadding=3 cellspacing=1 align=center>
<tr><td>Кому </td><td align=right><input type=text size=83 name=who></td></tr>
<tr><td>Тема </td><td align=right><input type=text size=83 name=theme></td></tr>
<tr><Td colspan=2><textarea name=msg cols=95 rows=10 class=post></textarea></td></tr>
<tr><Td colspan=2 align=right><input type=reset value=Очистить><input type=submit></td></tr>";
print "</table></form>";
}}


Еще для удобства навигации найди:
Код:
print "<a href='tools.php?event=profile&pname=$codename' class=mainmenu><img src=\"$fskin/icon_mini_profile.gif\" border=0 hspace=3 />Ваш профиль</a>  <a href='index.php?event=clearcooke' class=mainmenu><img src=\"$fskin/ico-login.gif\" border=0 hspace=3 />Выход [<B>$wrfname</B>]</a>";}


и замени на этот код:
Код:
print "<a href='tools.php?event=message' class=mainmenu><img src=\"$fskin/icon_mini_profile.gif\" border=0 hspace=3 />Сообщения</a> <a href='tools.php?event=profile&pname=$codename' class=mainmenu><img src=\"$fskin/icon_mini_profile.gif\" border=0 hspace=3 />Ваш профиль</a>  <a href='index.php?event=clearcooke' class=mainmenu><img src=\"$fskin/ico-login.gif\" border=0 hspace=3 />Выход [<B>$wrfname</B>]</a>";}


Должно все заработать.

p.s. В свое время, когда еще слабо разбирался в рhр, я пользовался этим скриптом. Но, когда имел кое-какие навыки, нашел в скрипте очень много дырок (можно писать от чужого имени, читать чужие письма). Постепенно шла его модернизация, но в итоге я взял и переделал скрипт знакомств под почтовый сервис. Так что, если дорожишь репутацией своего форума, начинай работать над ним))))))

Сообщение # 2 15.11.10 - 18:31:50

Андрей

А
Участник форума

Спасибо. щас посмотрим. Кстати навигация у меня и так выполнена отлично. вот сам смотри.

Я ваще тоже не очень разбираюсь в php, но понял насколько глюченый этот скрипт, в каждой строчке баги - написан тяп-ляп.

еще раз спасибо.

Сообщение # 3 15.11.10 - 20:43:51

Андрей

А
Участник форума

ЕХУУУ!1 все работает! спасибо огромное!!

Сообщение # 4 15.11.10 - 20:48:21

AlexandЗr

A
Участник форума

Не думаю, что этот блок как в исходном варианте, так и в приведенном здесь виде отвечает вашим требованиям. Например сообщения более 100 символов обрезаются, русские заглавные буквы и разные символы проглатываются... так что в том виде, в котором он был он и остался

Сообщение # 5 15.11.10 - 21:15:58

Андрей

А
Участник форума

так это все легко исправить.

Сообщение # 6 16.11.10 - 07:03:09

Sco-R-piO

S
Участник форума

AlexandЗr, это не мой скрипт. Автор мне неизвестен. Архив с данным кодом лежит на серваке Михаила.
Баги есть и я это знаю, поэтому я решил в свое время написать свой код личных сообщений из WR-MEETING.

Если очень нужно, то можно изменить исходник, чтобы была поддержка русского языка и отсутствовало ограничение на количество симолов

Сообщение # 7 16.11.10 - 18:40:29

Sco-R-piO

S
Участник форума

Можно сделать так, только запарка со знаками препинания...

Код:

if ($_GET['event'] =="message") {
error_reporting(0);
$wrfc=$_COOKIE['wrfcookies']; $wrfc=htmlspecialchars($wrfc); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $go = $wrfname;
if (!isset($_COOKIE['wrfcookies'])) {exit("<BR><BR><font size=+1><center>Только зарегистрированные участники форума могут пользоваться ЛС!");}
$messagedat="message.dat";
if ($_GET['action']==null or $_GET['action']==""){$_GET['action']="inbox";}
print "<center><span class=maintitle>Личные сообщения</span>
";
print "<BR><a href=tools.php?event=message&action=inbox>Входящие</a> | <a href=tools.php?event=message&action=write>Написать сообщение</a><BR><BR>";
if ($_GET['action'] =="inbox") {
print "<table cellpadding=3 cellspacing=1 width=100% class=forumline>
<tr><th class=thHead colspan=2 height=25 valign=middle>Входящие</th></tr>";
$alinks=array();
if(!isset($linkFile)) $linkFile=$messagedat;
$lines=file($linkFile) or die("Can't open $linkFile ");
while ($line=array_shift($lines)){
list($a["id"],$a["text"],$a["url"],$a["desc"],$a["who"])=explode("|",$line);
array_push($alinks,$a);
}
if(!empty($go))
foreach($alinks as $lk){
if($lk["id"]==$go) { echo "<tr><td class=row2 colspan=2><span class=gensmall>(от <a href=tools.php?event=profile&pname=".$lk["desc"].">".$lk["desc"]."</a>) <b>".$lk["text"]."</b> : ".$lk["url"]."</span></td></tr>";
}}}
print "</table>";
if ($_GET['action'] =="write") {
if ($_GET['function'] =="submit") {
function str($str) {
$str = preg_replace("/[^а-яa-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 100000) {
$str = substr ($str, 0, 100000);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
function str_theme($str) {
$str = preg_replace("/[^а-яa-z0-9\_\-. ]+/mi", "", $str);
if (strlen($str) > 30) {
$str = substr ($str, 0, 30);
if (($temp_max = strrpos($str, '_'))) $str = substr ($str, 0, $temp_max);}
return $str;}
$theme = $_POST['theme']; $msg = $_POST['msg'];
if ((strlen($theme) < 0) || (ereg("[^a-zа-яA-ZА-Я0-9_-]",$theme))){@header(print "Тема слишком короткая<BR><a href=javascript:history.back(1);>Назад</a>");exit;};
if ((strlen($msg) < 0) || (ereg("[^a-zа-яA-ZА-Я0-9_-]",$msg))){@header(print "Сообщение слишком короткое<BR><a href=javascript:history.back(1);>Назад</a>");exit;};
$text=str($_POST['who'])."|".str_theme($theme)."|".str($msg)."|".str($wrfname);
/// Блок добавления информации в БД
$text=trim($text);
$fp=fopen($messagedat,"a+");
flock ($fp,LOCK_EX);//блокировка файла
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
@chmod("$fp", 0600);
print "<center>Сообщение Отправленно !</center>";
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=tools.php?event=message\">";
exit; }
print "<table cellpadding=3 cellspacing=1 width=100% class=forumline>
<tr><th class=thHead colspan=2 height=25 valign=middle>Написать сообщение</th>
</tr><tr>
<td class=row2 colspan=2><span class=gensmall>
<form action=\"tools.php?event=message&action=write&function=submit\" method=post>
<table cellpadding=3 cellspacing=1 align=center>
<tr><td>Кому </td><td align=right><input type=text size=83 name=who></td></tr>
<tr><td>Тема </td><td align=right><input type=text size=83 name=theme></td></tr>
<tr><Td colspan=2><textarea name=msg cols=95 rows=10 class=post></textarea></td></tr>
<tr><Td colspan=2 align=right><input type=reset value=Очистить><input type=submit></td></tr>";
print "</table></form>";
}}

Сообщение # 8 16.11.10 - 18:52:17

LOSKAND

L
Участник форума

Sco-R-piO, по подробнее

Сообщение # 9 16.11.10 - 19:33:14

Sco-R-piO

S
Участник форума


Цитата:

Sco-R-piO, по подробнее

Что именно?

Сообщение # 10 17.11.10 - 14:21:20

LOSKAND

L
Участник форума


Цитата:

только запарка со знаками препинания...

опиши запарку.

Сообщение # 11 17.11.10 - 22:08:39

Sco-R-piO

S
Участник форума


Цитата:

опиши запарку.

Раньше как-то исправлял, теперь что-то не работает. Попробуй в письме написать ".,!?-=+"

Сообщение # 12 18.11.10 - 17:17:35
Как боротся с хулиганами??? :Предыдущая темаСледующая тема: Статистика посетителей на форуме
Страницы:  1  2  3  ... 6

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия