|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 23.11.2024 - 15:32:10 Личные сообщенияОбъявление - 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 Участник форума
|
|
Сообщение # 9 |
16.11.10 - 19:33:14
| | Sco-R-piO •
S Участник форума
|
Цитата:
Что именно? | |
|
Сообщение # 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
| |
|