Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Вопросы по PHP (для новичков)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)
Имя
Сообщение << Старые топики   Новые топики >>
RE: Вопросы по PHP (для новичков) - 2009-11-22 06:37:25.766666   
temirlan

Сообщений: 19
Оценки: 0
Присоединился: 2008-12-24 11:07:14.350000
quote:

ORIGINAL: phpdreamer

переименовать их
или засунуть в архив


А методом Force download как-то можно реализовать?
Post #: 1121
RE: Вопросы по PHP (для новичков) - 2009-11-22 09:24:41.850000   
phpdreamer

Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666
те файлы, которые браузер не может открыть - он скачивает…
если пдф он может открыть, то чего он будет скачивать?

архивируй
Post #: 1122
не надо ничего архивировать - 2009-11-22 11:00:03.206666   
Smelo

Сообщений: 119
Оценки: 0
Присоединился: 2009-09-27 15:48:37.386666
quote:

Как сделать, чтобы файлы с расширением .djvu и .pdf при нажатии на ссылку не открывались, а скачивались.

в конфиг апача добавь
AddType application/pdf .pdf
Post #: 1123
RE: не надо ничего архивировать - 2009-11-22 12:16:41.900000   
MuTaToR

Сообщений: 55
Оценки: 0
Присоединился: 2008-05-26 11:48:42.893333
а как можно из переменной "<a href="/?id=3908">название материала</a> <a href="/?id=2963">Название материала</a>"
зделать чтоб было 3908,2963.
Я знаю что это с помощью preg_match но как незнаю…
Post #: 1124
RE: не надо ничего архивировать - 2009-11-26 08:16:04.810000   
Панда

Сообщений: 232
Оценки: 0
Присоединился: 2008-03-05 07:38:35.890000
preg_match("/(\d+)/", '<a href="/?id=3908">название материала</a> <a href="/?id=2963">Название материала</a>', $matches);
var_dump($matches);
Post #: 1125
RE: не надо ничего архивировать - 2009-11-26 17:50:20.520000   
MuTaToR

Сообщений: 55
Оценки: 0
Присоединился: 2008-05-26 11:48:42.893333
не, от обоим и $matches[0] и $matches[1] присваивает 3908
Post #: 1126
RE: не надо ничего архивировать - 2009-11-26 18:02:26.150000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
&lt;pre&gt; &lt;?php $a = '&lt;a href="/?id=3908"&gt;название материала&lt;/a&gt; &lt;a href="/?id=2963"&gt; &lt;a href="/?id=3909"&gt;название материала&lt;/a&gt; &lt;a href="/?id=2964"&gt;'; preg_match_all('|&lt;a href="/\?id=(.*)"&gt;.*&lt;/a&gt;.*&lt;a href="/\?id=(.*)"&gt;|',$a,$b); print_r ($b); ?&gt; &lt;/pre&gt;
и посмотреть сорцы получившейся страницы
Post #: 1127
RE: не надо ничего архивировать - 2009-11-26 19:25:57.830000   
MuTaToR

Сообщений: 55
Оценки: 0
Присоединился: 2008-05-26 11:48:42.893333

quote:

ORIGINAL: Pashkela

&lt;pre&gt; &lt;?php $a = '&lt;a href="/?id=3908"&gt;название материала&lt;/a&gt; &lt;a href="/?id=2963"&gt; &lt;a href="/?id=3909"&gt;название материала&lt;/a&gt; &lt;a href="/?id=2964"&gt;'; preg_match_all('|&lt;a href="/\?id=(.*)"&gt;.*&lt;/a&gt;.*&lt;a href="/\?id=(.*)"&gt;|',$a,$b); print_r ($b); ?&gt; &lt;/pre&gt;
и посмотреть сорцы получившейся страницы

Спасибо большое
Post #: 1128
RE: не надо ничего архивировать - 2009-12-02 19:18:19.533333   
FriLL

Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
Чтото я тупю с аяксом
может обьяснит кто
Например есть страница time.php
с кодом
<?php
echo date('H:i:s');
?>

На странице out.php надо аяксом каждые 5 сек получать значение с time.php и выводить
Post #: 1129
RE: Вопросы по PHP (для новичков) - 2009-12-03 07:06:06.450000   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
Народ помогите с phpMyAdmin В UBUNTU(про денвер мне не нужно!!!!)

Дело вот в чём, не могу войти в админку, порылся на форумах - нарыл вот такой код для config.inc.php:

&lt;?php $i = 0; $i++; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'pass'; ?&gt; или &lt;?php $i = 0; $i++; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['blowfish_secret'] = '21b95a0f90138767b0fd324e6be3457b'; ?&gt;
пишут что должно помоч, но не выходит… на экране появляется напдись:
Ошибка Ответ MySQL: #2002 - Сервер не отвечает (либо сокет локального MySQL-сервера некорректно настроен)
изначально у меня вот такой код в config.inc.php:
&lt;?php /** * Please, do not edit this file. The configuration file for Debian * is located in the /etc/phpmyadmin directory. */ // Load secret generated on postinst include('/var/lib/phpmyadmin/blowfish_secret.inc.php'); // Load autoconf local config include('/var/lib/phpmyadmin/config.inc.php'); // Load user's local config include('/etc/phpmyadmin/config.inc.php'); // Set the default server if there is no defined if (!isset($cfg['Servers'])) { $cfg['Servers'][1]['host'] = 'localhost'; } // Set the default values for $cfg['Servers'] entries for ($i=1; (!empty($cfg['Servers'][$i]['host']) || (isset($cfg['Servers'][$i]['connect_type']) && $cfg['Servers'][$i]['connect_type'] == 'socket')); $i++) { if (!isset($cfg['Servers'][$i]['auth_type'])) { $cfg['Servers'][$i]['auth_type'] = 'cookie'; } if (!isset($cfg['Servers'][$i]['host'])) { $cfg['Servers'][$i]['host'] = 'localhost'; } if (!isset($cfg['Servers'][$i]['connect_type'])) { $cfg['Servers'][$i]['connect_type'] = 'tcp'; } if (!isset($cfg['Servers'][$i]['compress'])) { $cfg['Servers'][$i]['compress'] = false; } if (!isset($cfg['Servers'][$i]['extension'])) { $cfg['Servers'][$i]['extension'] = 'mysql'; } }
что МНЕ конкретно нужно дописать в этом файле или в файлах которые подключаются? пробовал разные варианты,
но они приводят к неработоспособности config.inc.php



Post #: 1130
RE: Вопросы по PHP (для новичков) - 2009-12-03 10:59:39.593333   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
quote:

Ответ MySQL:
#2002 - Сервер не отвечает (либо сокет локального MySQL-сервера некорректно настроен)

ты mysql-сервер запустил?
Post #: 1131
RE: Вопросы по PHP (для новичков) - 2009-12-03 16:45:25.163333   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
В том то и фига что вроде бы всё запустил:

desktop:~$ sudo /etc/init.d/mysql start * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables. desktop:~$ sudo /etc/init.d/apache2 start * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]
Post #: 1132
RE: Вопросы по PHP (для новичков) - 2009-12-03 17:02:46.193333   
AloneHate

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-13 07:36:57.400000
справился с проблемой одной командой в терминале: sudo mysqladmin -u root password ващ_пароль
Post #: 1133
RE: Вопросы по PHP (для новичков) - 2009-12-03 22:15:22.913333   
Myfun

Сообщений: 4
Оценки: 0
Присоединился: 2009-08-26 11:21:36.936666
Не подскажите где можно почитать про push-технологию средствами php…

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

спасибо …
Post #: 1134
RE: Вопросы по PHP (для новичков) - 2009-12-09 20:59:14.873333   
xfizer

Сообщений: 39
Оценки: 0
Присоединился: 2009-01-08 21:46:14.423333
&lt;? function& okRss($url){ $data=join('',file($url)); $matchTitle='!&lt;item&gt;.*?&lt;title&gt;(.*?)&lt;\/title&gt;.*?&lt;\/item&gt;!is'; preg_match_all($matchTitle,$data,$title); $rss['title']=$title[1]; $matchLink='!&lt;item&gt;.*?&lt;link&gt;(.*?)&lt;\/link&gt;.*?&lt;\/item&gt;!is'; preg_match_all($matchLink,$data,$link); $rss['link']=$link[1]; return $rss; } $rss=okRss("http://pravda.ru/export.xml"); for($i=0; $i&lt;4; $i++){ echo "&lt;a style='text-decoration:none; color: #00ffff; float: left; font-size: 14px; ' href='{$rss ['link'][$i]}' target=_blank&gt;{$rss['title'][$i]}&lt;/a&gt;&lt;br&gt;"; } ?&gt;
Как уменьшить строку, например до… 50 символов?
Post #: 1135
RE: Вопросы по PHP (для новичков) - 2009-12-10 14:05:49.376666   
Papa James

Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
substr ($var, 0, 50)
Post #: 1136
RE: Вопросы по PHP (для новичков) - 2009-12-17 15:08:04.006666   
zx16

Сообщений: 27
Оценки: 0
Присоединился: 2007-02-25 01:20:00.663333
здравствуйте, помогите лобстеру в теме php программирования, дайте скрипт, нужна страница с кнопкой и полем, в поле будет вводится код, и чтоб этот код после нажатия кнопки вбивался в поле, которое находится на другом сайте и соответственно нажималась кнопка ОК. это партнерка, следовательно на конечный сайт мы должны зайти с определенной ссылки))) коряво обьяснил, аж самому стыдно, могу и купить эту помощь, пишите 9шесть24999
Post #: 1137
RE: Вопросы по PHP (для новичков) - 2009-12-19 14:52:26.786666   
scsi.aka.api

Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
помогите дописать скрипт
&lt;html&gt; &lt;head&gt; &lt;title&gt;Заголовок&lt;/title&gt; &lt;/head&gt; &lt;body &lt;h1&gt;Заголовок&lt;/h1&gt; &lt;? &lt;FORM ACTION=\"$PHP_SELF\" METHOD =\"POST\"&gt; &lt;INPUT TYPE =\"TEXT\" SIZE=\"5\" VALUE=\"$id2\" NAME=\"id2\"&gt; &lt;/FORM&gt;" ?&gt; &lt;/font&gt; &lt;?php $id =$id2; echo "&lt;a href=http://site.ru/photo.php?act=open=$id&gt;_______&lt;/a&gt;&lt;br&gt;"; echo "&lt;a href=http://site.ru/video.php?id=$id&gt;______&lt;/a&gt;&lt;br&gt;"; ?&gt; &lt;hr size="1" color="black"&gt; &lt;/body&gt; &lt;/html&gt;
 чтобы то что ввели в форму ,подставилось в ссылки.
Post #: 1138
RE: Вопросы по PHP (для новичков) - 2009-12-19 20:10:00.993333   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Как можно реализовать отправку сообщений на сайте??(типо как вконтакте и на других сайтах, чтоб было видно какие новые, какий прочтенные)
Post #: 1139
RE: Вопросы по PHP (для новичков) - 2009-12-19 20:13:12.346666   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
<html>
<head>
<title>Заголовок</title>
</head>
<body
<h1>Заголовок</h1>
<?
<FORM ACTION=\"$PHP_SELF\" METHOD =\"POST\">
<INPUT TYPE =\"TEXT\" SIZE=\"5\" VALUE=\"$id2\" NAME=\"id2\">
</FORM>"
?>
</font>
<?php
$id =$id2;
echo "<a href=http://site.ru/photo.php?act=open=$id&gt;_______&lt;/a&gt;&lt;br>";
echo "<a href=http://site.ru/video.php?id=$id>______</a><br>";
?>
<hr size="1" color="black">
</body>
</html>



Куча ошибок….
А вообще если я тебя понял то $_POST['переменная'] или $_GET['переменная']
Post #: 1140
RE: Вопросы по PHP (для новичков) - 2009-12-19 20:28:30.260000   
scsi.aka.api

Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
Спасибо Korovka

как я понял,ты выделил ошибки?
я просто хотел написать все в одном файле.
echo "&lt;a href=http://site.ru/photo.php?[color="#ff0000"]act=open=$id&gt;_______&lt;/a&gt;&lt;br[/color]&gt;"; не совсем понял где тут ошибка?

Можешь скрипт поправить?
Post #: 1141
RE: Вопросы по PHP (для новичков) - 2009-12-19 20:37:04.653333   
scsi.aka.api

Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
quote:

ORIGINAL: Korovka

Как можно реализовать отправку сообщений на сайте??(типо как вконтакте и на других сайтах, чтоб было видно какие новые, какий прочтенные)


&lt;?php //&nbsp;Функция&nbsp;возвращает&nbsp;html&nbsp;формы&nbsp;для&nbsp;отправки&nbsp;личного&nbsp;сообщения function&nbsp;getSendMsgForm() { &nbsp;&nbsp;//&nbsp;Незарегистрированный&nbsp;пользователь&nbsp;не&nbsp;может&nbsp;отправлять&nbsp;личные&nbsp;сообщения &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die();&nbsp; &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;$html&nbsp;=&nbsp;'&lt;h1&gt;Личные&nbsp;сообщения&lt;/h1&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.getMessagesMenu();&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;$toUser&nbsp;=&nbsp;''; &nbsp;&nbsp;if&nbsp;(&nbsp;isset(&nbsp;$_GET['idUser']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$id&nbsp;=&nbsp;(int)$_GET['idUser']; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;$id&nbsp;&gt;&nbsp;0&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;name&nbsp;FROM&nbsp;".TABLE_USERS."&nbsp;WHERE&nbsp;id_author=".$id; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;$res&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;&gt;&nbsp;0&nbsp;)&nbsp;$toUser&nbsp;=&nbsp;mysql_result(&nbsp;$res,&nbsp;0,&nbsp;0&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;} &nbsp;&nbsp;$subject&nbsp;=&nbsp;''; &nbsp;&nbsp;$message&nbsp;=&nbsp;''; &nbsp;&nbsp;if&nbsp;(&nbsp;isset(&nbsp;$_SESSION['viewMessage']&nbsp;)&nbsp;and&nbsp;!empty(&nbsp;$_SESSION['viewMessage']['message']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$view&nbsp;=&nbsp;file_get_contents(&nbsp;'./templates/previewMessage.html'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$view&nbsp;=&nbsp;str_replace(&nbsp;'{message}',&nbsp;print_page(&nbsp;$_SESSION['viewMessage']['message']&nbsp;),&nbsp;$view&nbsp;);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.$view."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$toUser&nbsp;&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['viewMessage']['toUser']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$subject&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['viewMessage']['subject']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$message&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['viewMessage']['message']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;unset(&nbsp;$_SESSION['viewMessage']&nbsp;); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;$action&nbsp;=&nbsp;$_SERVER['PHP_SELF'].'?action=sendMessage'; &nbsp;&nbsp;//&nbsp;Если&nbsp;при&nbsp;заполнении&nbsp;формы&nbsp;были&nbsp;допущены&nbsp;ошибки &nbsp;&nbsp;if&nbsp;(&nbsp;isset(&nbsp;$_SESSION['sendMessageForm']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$info&nbsp;=&nbsp;file_get_contents(&nbsp;'./templates/infoMessage.html'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$info&nbsp;=&nbsp;str_replace(&nbsp;'{infoMessage}',&nbsp;$_SESSION['sendMessageForm']['error'],&nbsp;$info&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.$info."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$toUser&nbsp;&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['sendMessageForm']['toUser']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$subject&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['sendMessageForm']['subject']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$message&nbsp;=&nbsp;htmlspecialchars(&nbsp;$_SESSION['sendMessageForm']['message']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;unset(&nbsp;$_SESSION['sendMessageForm']&nbsp;); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;$tpl&nbsp;=&nbsp;file_get_contents(&nbsp;'./templates/sendMessageForm.html'&nbsp;); &nbsp;&nbsp;$tpl&nbsp;=&nbsp;str_replace(&nbsp;'{action}',&nbsp;$action,&nbsp;$tpl&nbsp;); &nbsp;&nbsp;$tpl&nbsp;=&nbsp;str_replace(&nbsp;'{toUser}',&nbsp;$toUser,&nbsp;$tpl&nbsp;); &nbsp;&nbsp;$tpl&nbsp;=&nbsp;str_replace(&nbsp;'{subject}',&nbsp;$subject,&nbsp;$tpl&nbsp;); &nbsp;&nbsp;$tpl&nbsp;=&nbsp;str_replace(&nbsp;'{message}',&nbsp;$message,&nbsp;$tpl&nbsp;); &nbsp;&nbsp; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.$tpl; &nbsp;&nbsp; &nbsp;&nbsp;return&nbsp;$html; } ?&gt; [/align] Обработчик формы — функция sendMessage(): &lt;?php //&nbsp;Отправка&nbsp;личного&nbsp;сообщения&nbsp;(добавляем&nbsp;новую&nbsp;запись&nbsp;в&nbsp;таблицу&nbsp;БД&nbsp;TABLE_MESSAGES) function&nbsp;sendMessage() { &nbsp;&nbsp;//&nbsp;Незарегистрированный&nbsp;пользователь&nbsp;не&nbsp;может&nbsp;отправлять&nbsp;личные&nbsp;сообщения &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die();&nbsp; &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Если&nbsp;не&nbsp;переданы&nbsp;данные&nbsp;формы&nbsp;-&nbsp;функция&nbsp;вызвана&nbsp;по&nbsp;ошибке &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_POST['toUser']&nbsp;)&nbsp;or &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!isset(&nbsp;$_POST['subject']&nbsp;)&nbsp;or &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!isset(&nbsp;$_POST['message']&nbsp;)&nbsp;) &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;$msgLen&nbsp;=&nbsp;strlen(&nbsp;$_POST['message']&nbsp;); &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Обрезаем&nbsp;переменные&nbsp;до&nbsp;длины,&nbsp;указанной&nbsp;в&nbsp;параметре&nbsp;maxlength&nbsp;тега&nbsp;input &nbsp;&nbsp;$toUser&nbsp;&nbsp;=&nbsp;substr(&nbsp;$_POST['toUser'],&nbsp;0,&nbsp;30&nbsp;); &nbsp;&nbsp;$subject&nbsp;=&nbsp;substr(&nbsp;$_POST['subject'],&nbsp;0,&nbsp;60&nbsp;); &nbsp;&nbsp;$message&nbsp;=&nbsp;substr(&nbsp;$_POST['message'],&nbsp;0,&nbsp;MAX_MESSAGE_LENGTH&nbsp;); &nbsp;&nbsp;//&nbsp;Обрезаем&nbsp;лишние&nbsp;пробелы &nbsp;&nbsp;$toUser&nbsp;&nbsp;=&nbsp;trim(&nbsp;$toUser&nbsp;); &nbsp;&nbsp;$subject&nbsp;=&nbsp;trim(&nbsp;$subject&nbsp;); &nbsp;&nbsp;$message&nbsp;=&nbsp;trim(&nbsp;$message&nbsp;); &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Если&nbsp;пользователь&nbsp;хочет&nbsp;посмотреть&nbsp;на&nbsp;сообщение&nbsp;перед&nbsp;отправкой &nbsp;&nbsp;if&nbsp;(&nbsp;isset(&nbsp;$_POST['viewMessage']&nbsp;)&nbsp;)&nbsp; &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['viewMessage']&nbsp;=&nbsp;array(); &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['viewMessage']['toUser']&nbsp;=&nbsp;$toUser; &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['viewMessage']['subject']&nbsp;=&nbsp;$subject; &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['viewMessage']['message']&nbsp;=&nbsp;$message; &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF'].'?action=sendMsgForm'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Проверяем,&nbsp;заполнены&nbsp;ли&nbsp;обязательные&nbsp;поля &nbsp;&nbsp;$error&nbsp;=&nbsp;''; &nbsp;&nbsp;if&nbsp;(&nbsp;empty(&nbsp;$toUser&nbsp;)&nbsp;)&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;не&nbsp;заполнено&nbsp;поле&nbsp;"Для&nbsp;пользователя"&lt;/li&gt;'."\n"; &nbsp;&nbsp;if&nbsp;(&nbsp;empty(&nbsp;$subject&nbsp;)&nbsp;)&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;не&nbsp;заполнено&nbsp;поле&nbsp;"Заголовок&nbsp;сообщения"&lt;/li&gt;'."\n"; &nbsp;&nbsp;if&nbsp;(&nbsp;empty(&nbsp;$message&nbsp;)&nbsp;)&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;не&nbsp;заполнено&nbsp;поле&nbsp;"Текст&nbsp;сообщения"&lt;/li&gt;'."\n"; &nbsp;&nbsp;if&nbsp;(&nbsp;$msgLen&nbsp;&gt;&nbsp;MAX_MESSAGE_LENGTH&nbsp;)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;длина&nbsp;сообщения&nbsp;больше&nbsp;'.MAX_MESSAGE_LENGTH.'&nbsp;символов&lt;/li&gt;'."\n"; &nbsp;&nbsp;//&nbsp;Проверяем&nbsp;поля&nbsp;формы&nbsp;на&nbsp;недопустимые&nbsp;символы &nbsp;&nbsp;if&nbsp;(&nbsp;!empty(&nbsp;$toUser&nbsp;)&nbsp;and&nbsp;!preg_match(&nbsp;"#^[-&nbsp;_0-9a-zа-я]+$#i",&nbsp;$toUser&nbsp;)&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;поле&nbsp;"Для&nbsp;пользователя"&nbsp;содержит&nbsp;недопустимые&nbsp;символы&lt;/li&gt;'."\n"; &nbsp;&nbsp;if&nbsp;(&nbsp;!empty(&nbsp;$subject&nbsp;)&nbsp;and&nbsp;!preg_match(&nbsp;"#^[-.;:,?!\/)(_\"\s0-9а-яa-z]+$#i",&nbsp;$subject&nbsp;)&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;поле&nbsp;"Заголовок&nbsp;сообщения"&nbsp;содержит&nbsp;недопустимые&nbsp;символы&lt;/li&gt;'."\n"; &nbsp;&nbsp;//&nbsp;Проверяем,&nbsp;есть&nbsp;ли&nbsp;такой&nbsp;пользователь &nbsp;&nbsp;if&nbsp;(&nbsp;!empty(&nbsp;$toUser&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$to&nbsp;=&nbsp;preg_replace(&nbsp;"#[^-&nbsp;_0-9a-zа-я]#i",&nbsp;'',&nbsp;$toUser&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;id_author&nbsp;FROM&nbsp;".TABLE_USERS."&nbsp;WHERE&nbsp;name='".$to."'&nbsp;LIMIT&nbsp;1"; &nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!$res&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$msg&nbsp;=&nbsp;'Произошла&nbsp;ошибка&nbsp;при&nbsp;отправке&nbsp;сообщения'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$err&nbsp;=&nbsp;'Ошибка&nbsp;при&nbsp;выполнении&nbsp;запроса:&nbsp;&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query.'&lt;br/&gt;'.mysql_errno().':&amp;nbsp;'.mysql_error().'&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(Файл&nbsp;'.&nbsp;__FILE__&nbsp;.',&nbsp;строка&nbsp;'.&nbsp;__LINE__&nbsp;.')'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;showErrorMessage(&nbsp;$msg,&nbsp;$err,&nbsp;true,&nbsp;'action=sendMsgForm'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;==&nbsp;0&nbsp;)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;пользователь&nbsp;с&nbsp;именем&nbsp;&lt;strong&gt;'.$to.'&lt;/strong&gt;&nbsp;не&nbsp;зарегистрирован&lt;/li&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;(mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;==&nbsp;1&nbsp;)&nbsp;and&nbsp;(mysql_result(&nbsp;$res,&nbsp;0,&nbsp;0&nbsp;)&nbsp;==&nbsp;$_SESSION['user']['id_author'])&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$error&nbsp;=&nbsp;$error.'&lt;li&gt;нельзя&nbsp;послать&nbsp;сообщение&nbsp;самому&nbsp;себе&lt;/li&gt;'."\n"; &nbsp;&nbsp;} &nbsp;&nbsp;//&nbsp;Если&nbsp;были&nbsp;допущены&nbsp;ошибки&nbsp;при&nbsp;заполнении&nbsp;формы&nbsp;-&nbsp; &nbsp;&nbsp;//&nbsp;перенаправляем&nbsp;посетителя&nbsp;для&nbsp;исправления&nbsp;ошибок &nbsp;&nbsp;if&nbsp;(&nbsp;!empty(&nbsp;$error&nbsp;)&nbsp;) &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['sendMessageForm']&nbsp;=&nbsp;array(); &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['sendMessageForm']['error']&nbsp;=&nbsp;'&lt;p&nbsp;class="errorMsg"&gt;При&nbsp;заполнениии&nbsp;формы&nbsp;были&nbsp;допущены&nbsp;ошибки:&lt;/p&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;"\n".'&lt;ul&nbsp;class="errorMsg"&gt;'."\n".$error.'&lt;/ul&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['sendMessageForm']['toUser']&nbsp;=&nbsp;$toUser; &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['sendMessageForm']['subject']&nbsp;=&nbsp;$subject; &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['sendMessageForm']['message']&nbsp;=&nbsp;$message; &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF'].'?action=sendMsgForm'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Все&nbsp;поля&nbsp;заполнены&nbsp;правильно&nbsp;-&nbsp;"посылаем"&nbsp;сообщение&nbsp;&nbsp; &nbsp;&nbsp;$to&nbsp;=&nbsp;mysql_result(&nbsp;$res,&nbsp;0,&nbsp;0&nbsp;); &nbsp;&nbsp;$from&nbsp;=&nbsp;$_SESSION['user']['id_author']; &nbsp;&nbsp; &nbsp;&nbsp;$query&nbsp;=&nbsp;"INSERT&nbsp;INTO&nbsp;".TABLE_MESSAGES." &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUES&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$to.",&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$from.", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOW(),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'".mysql_real_escape_string(&nbsp;$subject&nbsp;)."',&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'".mysql_real_escape_string(&nbsp;$message&nbsp;)."', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)"; &nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp;if&nbsp;(&nbsp;!$res&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$msg&nbsp;=&nbsp;'Произошла&nbsp;ошибка&nbsp;при&nbsp;отправке&nbsp;сообщения'; &nbsp;&nbsp;&nbsp;&nbsp;$err&nbsp;=&nbsp;'Ошибка&nbsp;при&nbsp;выполнении&nbsp;запроса:&nbsp;&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query.'&lt;br/&gt;'.mysql_errno().':&amp;nbsp;'.mysql_error().'&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(Файл&nbsp;'.&nbsp;__FILE__&nbsp;.',&nbsp;строка&nbsp;'.&nbsp;__LINE__&nbsp;.')'; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;showErrorMessage(&nbsp;$msg,&nbsp;$err,&nbsp;true,&nbsp;'action=showOutBox'&nbsp;); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;return&nbsp;showInfoMessage(&nbsp;'Ваше&nbsp;сообщение&nbsp;успешно&nbsp;отправлено',&nbsp;'action=showOutBox'&nbsp;); } ?&gt; [/align] Функция getInMsgBox() возвращает список личных сообщений в папке "Входящие": &lt;?php //&nbsp;Папка&nbsp;личных&nbsp;сообщений&nbsp;(входящие) function&nbsp;getInMsgBox() { &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;$html&nbsp;=&nbsp;'&lt;h1&gt;Личные&nbsp;сообщения&nbsp;(входящие)&lt;/h1&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.getMessagesMenu();&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;table&nbsp;class="showTable"&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="2%"&gt;&amp;nbsp;&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="15%"&gt;Отправитель&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="63%"&gt;Тема&nbsp;сообщения&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="15%"&gt;Дата&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="5%"&gt;Удл.&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n"; &nbsp;&nbsp;//&nbsp;Запрос&nbsp;на&nbsp;выборку&nbsp;входящих&nbsp;сообщений &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;id_rmv&nbsp;-&nbsp;это&nbsp;поле&nbsp;указывает&nbsp;на&nbsp;то,&nbsp;что&nbsp;это&nbsp;сообщение&nbsp;уже&nbsp;удалил &nbsp;&nbsp;//&nbsp;один&nbsp;из&nbsp;пользователей.&nbsp;Т.е.&nbsp;сначала&nbsp;id_rmv=0,&nbsp;после&nbsp;того,&nbsp;как &nbsp;&nbsp;//&nbsp;сообщение&nbsp;удалил&nbsp;один&nbsp;из&nbsp;пользователей,&nbsp;id_rmv=id_user.&nbsp;И&nbsp;только&nbsp;после &nbsp;&nbsp;//&nbsp;того,&nbsp;как&nbsp;сообщение&nbsp;удалит&nbsp;второй&nbsp;пользователь,&nbsp;мы&nbsp;можем&nbsp;удалить &nbsp;&nbsp;//&nbsp;запись&nbsp;в&nbsp;таблице&nbsp;БД&nbsp;TABLE_MESSAGES &nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;a.id_msg,&nbsp;a.subject,&nbsp;a.from_user,&nbsp;a.sendtime,&nbsp;a.viewed,&nbsp;b.name &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;".TABLE_MESSAGES."&nbsp;a&nbsp;INNER&nbsp;JOIN&nbsp;".TABLE_USERS."&nbsp;b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON&nbsp;a.from_user=b.id_author &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;a.to_user=".$_SESSION['user']['id_author']." &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;id_rmv&lt;&gt;".$_SESSION['user']['id_author']." &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORDER&nbsp;BY&nbsp;sendtime&nbsp;DESC"; &nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp; &nbsp;&nbsp;while&nbsp;(&nbsp;$msg&nbsp;=&nbsp;mysql_fetch_row(&nbsp;$res&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Если&nbsp;сообщение&nbsp;еще&nbsp;не&nbsp;прочитано &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;$msg[4]&nbsp;==&nbsp;0&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;align="center"&nbsp;valign="middle"&gt;&lt;img&nbsp;src="./images/folder_new.gif"&nbsp;width="19" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height="18"&nbsp;alt=""&nbsp;/&gt;&lt;/td&gt;'; &nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;align="center"&nbsp;valign="middle"&gt;&lt;img&nbsp;src="./images/folder.gif"&nbsp;width="19"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height="18"&nbsp;alt=""&nbsp;/&gt;&lt;/td&gt;';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;'.$msg[5].'&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;a&nbsp;href="'.$_SERVER['PHP_SELF'].'?action=showMsg&amp;idMsg='. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$msg[0].'"&gt;'.$msg[1].'&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;'.$msg[3].'&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;align="center"&gt;&lt;a&nbsp;href="'.$_SERVER['PHP_SELF']. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'?action=deleteMsg&amp;idMsg='.$msg[0].'"&gt;&lt;img&nbsp;src="./images/icon_delete.gif" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alt="Удалить"&nbsp;title="Удалить"&nbsp;border="0"&nbsp;/&gt;&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n";&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;} &nbsp;&nbsp;if&nbsp;(&nbsp;mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;==&nbsp;0&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;colspan="4"&gt;В&nbsp;этой&nbsp;папке&nbsp;нет&nbsp;сообщений&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n"; &nbsp;&nbsp;} &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/table&gt;'."\n"; &nbsp;&nbsp; &nbsp;&nbsp;return&nbsp;$html; } ?&gt; [/align] Функция getOutMsgBox() возвращает список личных сообщений в папке "Исходящие": &lt;?php //&nbsp;Папка&nbsp;личных&nbsp;сообщений&nbsp;(исходящие) function&nbsp;getOutMsgBox() { &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;$html&nbsp;=&nbsp;'&lt;h1&gt;Личные&nbsp;сообщения&nbsp;(исходящие)&lt;/h1&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.getMessagesMenu();&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;table&nbsp;class="showTable"&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="15%"&gt;Получатель&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="65%"&gt;Тема&nbsp;сообщения&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="15%"&gt;Дата&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;th&nbsp;width="5%"&gt;Удл.&lt;/th&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n"; &nbsp;&nbsp; &nbsp;&nbsp;//&nbsp;Запрос&nbsp;на&nbsp;выборку&nbsp;исходящих&nbsp;сообщений&nbsp; &nbsp;&nbsp;//&nbsp;id_rmv&nbsp;-&nbsp;это&nbsp;поле&nbsp;указывает&nbsp;на&nbsp;то,&nbsp;что&nbsp;это&nbsp;сообщение&nbsp;уже&nbsp;удалил &nbsp;&nbsp;//&nbsp;один&nbsp;из&nbsp;пользователей.&nbsp;Т.е.&nbsp;сначала&nbsp;id_rmv=0,&nbsp;после&nbsp;того,&nbsp;как &nbsp;&nbsp;//&nbsp;сообщение&nbsp;удалил&nbsp;один&nbsp;из&nbsp;пользователей,&nbsp;id_rmv=id_user.&nbsp;И&nbsp;только&nbsp;после &nbsp;&nbsp;//&nbsp;того,&nbsp;как&nbsp;сообщение&nbsp;удалит&nbsp;второй&nbsp;пользователь,&nbsp;мы&nbsp;можем&nbsp;удалить &nbsp;&nbsp;//&nbsp;запись&nbsp;в&nbsp;таблице&nbsp;БД&nbsp;TABLE_MESSAGES &nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;a.id_msg,&nbsp;a.subject,&nbsp;a.to_user,&nbsp;a.sendtime,&nbsp;b.name &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;".TABLE_MESSAGES."&nbsp;a&nbsp;INNER&nbsp;JOIN&nbsp;".TABLE_USERS."&nbsp;b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ON&nbsp;a.to_user=b.id_author &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;a.from_user=".$_SESSION['user']['id_author']." &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;id_rmv&lt;&gt;".$_SESSION['user']['id_author']." &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORDER&nbsp;BY&nbsp;sendtime&nbsp;DESC"; &nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp; &nbsp;&nbsp;while&nbsp;(&nbsp;$msg&nbsp;=&nbsp;mysql_fetch_row(&nbsp;$res&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;'.$msg[4].'&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;a&nbsp;href="'.$_SERVER['PHP_SELF'].'?action=showMsg&amp;idMsg='. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$msg[0].'"&gt;'.$msg[1].'&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;'.$msg[3].'&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;align="center"&gt;&lt;a&nbsp;href="'.$_SERVER['PHP_SELF']. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'?action=deleteMsg&amp;idMsg='.$msg[0].'"&gt;&lt;img&nbsp;src="./images/icon_delete.gif" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alt="Удалить"&nbsp;title="Удалить"&nbsp;border="0"&nbsp;/&gt;&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n";&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;} &nbsp;&nbsp;if&nbsp;(&nbsp;mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;==&nbsp;0&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;colspan="4"&gt;В&nbsp;этой&nbsp;папке&nbsp;нет&nbsp;сообщений&lt;/td&gt;'."\n"; &nbsp;&nbsp;&nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n"; &nbsp;&nbsp;} &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/table&gt;'."\n"; &nbsp;&nbsp; &nbsp;&nbsp;return&nbsp;$html;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } ?&gt; [/align] Вспомогательная функция getMessagesMenu() возвращает html меню для раздела "Личные сообщения": &lt;?php function&nbsp;getMessagesMenu() { &nbsp;&nbsp;$html&nbsp;=&nbsp;'&lt;table&nbsp;width="100%"&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;tr&nbsp;valign="middle"&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;img&nbsp;src="./images/msg_inbox.gif"&nbsp;alt="Входящие"&nbsp;title="Входящие"&nbsp;/&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;a&nbsp;class="header"&nbsp;href="'.$_SERVER['PHP_SELF']. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'?action=showInBox"&gt;Входящие&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;img&nbsp;src="./images/msg_outbox.gif"&nbsp;alt="Исходящие"&nbsp;title="Исходящие"&nbsp;/&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&gt;&lt;a&nbsp;class="header"&nbsp;href="'.$_SERVER['PHP_SELF']. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'?action=showOutBox"&gt;Исходящие&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;td&nbsp;align="right"&nbsp;width="90%"&gt;&lt;a&nbsp;href="'.$_SERVER['PHP_SELF']. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'?action=sendMsgForm"&gt;&lt;img&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src="./images/msg_newpost.gif"&nbsp;alt="Новое&nbsp;сообщение"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title="Новое&nbsp;сообщение"&nbsp;/&gt;&lt;/a&gt;&lt;/td&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/tr&gt;'."\n"; &nbsp;&nbsp;$html&nbsp;=&nbsp;$html.'&lt;/table&gt;'."\n"; &nbsp;&nbsp; &nbsp;&nbsp;return&nbsp;$html; } ?&gt; [/align] Для удаления личного сообщения надо вызвать функцию deleteMessage(): &lt;?php //&nbsp;Функция&nbsp;удаляет&nbsp;личное&nbsp;сообщение;&nbsp;ID&nbsp;сообщения&nbsp;передается&nbsp;методом&nbsp;GET function&nbsp;deleteMessage() { &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_GET['idMsg']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;}&nbsp; &nbsp;&nbsp;$idMsg&nbsp;=&nbsp;(int)$_GET['idMsg']; &nbsp;&nbsp;if&nbsp;(&nbsp;$idMsg&nbsp;&lt;&nbsp;1&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;//&nbsp;Далее&nbsp;мы&nbsp;должны&nbsp;выяснить,&nbsp;удаляется&nbsp;входящее&nbsp;или&nbsp;исходящее &nbsp;&nbsp;//&nbsp;сообщение.&nbsp;Это&nbsp;нужно,&nbsp;чтобы&nbsp;сделать&nbsp;редирект&nbsp;на&nbsp;нужный&nbsp;ящик. &nbsp;&nbsp;//&nbsp;В&nbsp;этом&nbsp;запросе&nbsp;дополнительное&nbsp;условие&nbsp;нужно&nbsp;для&nbsp;того,&nbsp;чтобы &nbsp;&nbsp;//&nbsp;пользователь&nbsp;не&nbsp;смог&nbsp;удалить&nbsp;чужое&nbsp;сообщение,&nbsp;просто&nbsp;указав &nbsp;&nbsp;//&nbsp;ID&nbsp;сообщения&nbsp;в&nbsp;адресной&nbsp;строке&nbsp;браузера &nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;to_user,&nbsp;id_rmv&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;".TABLE_MESSAGES."&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;id_msg=".$idMsg."&nbsp;AND&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(to_user=".$_SESSION['user']['id_author']."&nbsp;OR&nbsp;from_user=".$_SESSION['user']['id_author'].")"; &nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp;if&nbsp;(&nbsp;mysql_num_rows(&nbsp;$res&nbsp;)&nbsp;==&nbsp;0&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF'].'?action=showInBox'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;list&nbsp;(&nbsp;$toUser,&nbsp;$id_rmv&nbsp;)&nbsp;=&nbsp;mysql_fetch_row(&nbsp;$res&nbsp;); &nbsp;&nbsp;if&nbsp;(&nbsp;$toUser&nbsp;==&nbsp;$_SESSION['user']['id_author']&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;$redirect&nbsp;=&nbsp;'action=showInBox'; &nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;$redirect&nbsp;=&nbsp;'action=showOutBox'; &nbsp;&nbsp;//&nbsp;id_rmv&nbsp;-&nbsp;это&nbsp;поле&nbsp;указывает&nbsp;на&nbsp;то,&nbsp;что&nbsp;это&nbsp;сообщение&nbsp;уже&nbsp;удалил &nbsp;&nbsp;//&nbsp;один&nbsp;из&nbsp;пользователей.&nbsp;Т.е.&nbsp;сначала&nbsp;id_rmv=0,&nbsp;после&nbsp;того,&nbsp;как &nbsp;&nbsp;//&nbsp;сообщение&nbsp;удалил&nbsp;один&nbsp;из&nbsp;пользователей,&nbsp;id_rmv=id_user.&nbsp;И&nbsp;только&nbsp;после &nbsp;&nbsp;//&nbsp;того,&nbsp;как&nbsp;сообщение&nbsp;удалит&nbsp;второй&nbsp;пользователь,&nbsp;мы&nbsp;можем&nbsp;удалить &nbsp;&nbsp;//&nbsp;запись&nbsp;в&nbsp;таблице&nbsp;БД&nbsp;TABLE_MESSAGES &nbsp;&nbsp;if&nbsp;(&nbsp;$id_rmv&nbsp;==&nbsp;0&nbsp;)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;"UPDATE&nbsp;".TABLE_MESSAGES."&nbsp;SET&nbsp;id_rmv=".$_SESSION['user']['id_author']."&nbsp;WHERE&nbsp;id_msg=".$idMsg; &nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;"DELETE&nbsp;FROM&nbsp;".TABLE_MESSAGES."&nbsp;WHERE&nbsp;id_msg=".$idMsg; &nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query(&nbsp;$query&nbsp;); &nbsp;&nbsp;if&nbsp;(&nbsp;!$res&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$msg&nbsp;=&nbsp;'Произошла&nbsp;ошибка&nbsp;при&nbsp;удалении&nbsp;сообщения'; &nbsp;&nbsp;&nbsp;&nbsp;$err&nbsp;=&nbsp;'Ошибка&nbsp;при&nbsp;выполнении&nbsp;запроса:&nbsp;&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query.'&lt;br/&gt;'.mysql_errno().':&amp;nbsp;'.mysql_error().'&lt;br/&gt;'. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(Файл&nbsp;'.&nbsp;__FILE__&nbsp;.',&nbsp;строка&nbsp;'.&nbsp;__LINE__&nbsp;.')'; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;showErrorMessage(&nbsp;$msg,&nbsp;$err,&nbsp;true,&nbsp;$redirect&nbsp;); &nbsp;&nbsp;} &nbsp;&nbsp;return&nbsp;showInfoMessage(&nbsp;'Сообщение&nbsp;успешно&nbsp;удалено',&nbsp;$redirect&nbsp;); } ?&gt; [/align] Функция getMessage() возвращает личное сообщение для просмотра пользователем: &lt;?php //&nbsp;Функция&nbsp;возвращает&nbsp;личное&nbsp;сообщение&nbsp;для&nbsp;просмотра&nbsp;пользователем function&nbsp;getMessage() { &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_SESSION['user']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;if&nbsp;(&nbsp;!isset(&nbsp;$_GET['idMsg']&nbsp;)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF']&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;$idMsg&nbsp;=&nbsp;(int)$_GET['idMsg']; &nbsp;&nbsp;if&nbsp;(&nbsp;$idMsg&nbsp;&lt;&nbsp;1&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;header(&nbsp;'Location:&nbsp;'.$_SERVER['PHP_SELF'].'?action=showInBox'&nbsp;); &nbsp;&nbsp;&nbsp;&nbsp;die(); &nbsp;&nbsp;} &nbsp;&nbsp;//&nbsp;Получаем&nbsp;из&nbsp;БД&nbsp;информацию&nbsp;о&nbsp;сообщении. &nbsp;&nbsp;//&nbsp;В&nbsp;этом&nbsp;запросе&nbsp;дополнительное&nbsp;условие&nbsp;нужно&nbsp;для&nbsp;того,&nbsp;чтобы &nbsp;&nbsp;//&nbsp;пользователь&nbsp;не&nbsp;смог&nbsp;просмотреть&nbsp;чужое&nbsp;сообщение,&nbsp;просто&nbsp;указав &nbsp;&nbsp;//&nbsp;ID&nbsp;сообщения&nbsp;в&nbsp;адресной&nbsp;строке&nbsp;браузера &nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT&nbsp;a.to_user,&nbsp;a.from_user,&nbsp;a.subject,&nbsp;a.sendtime,&nbsp;a.m
Post #: 1142
RE: Вопросы по PHP (для новичков) - 2009-12-19 21:21:05.296666   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
scsi.aka.api спасибо, но скрипт(который ты дал) очень не понятный для меня
ВОПРОС ЕЩЕ АКТУАЛЬНЫЙ
scsi.aka.api
<hr size="1" color="black">
<html>
<head>
<title>Заголовок</title>
</head>
<body
<h1>Заголовок</h1>
<FORM ACTION="" METHOD="POST">
<INPUT TYPE ="TEXT" SIZE="5" VALUE="id2" NAME="id2">
<input type="submit" value="Получить">
</FORM>
<?php
$id = $_POST['id2'];
echo "<a href=http://site.ru/photo.php?act=open=$id>Ссылка 1</a><br>";
echo "<a href=http://site.ru/video.php?id=$id>Ссылка 2</a><br>";
?>
<hr size="1" color="black">
</body>
</html>
Post #: 1143
RE: Вопросы по PHP (для новичков) - 2009-12-20 12:02:56.760000   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Как можно реализовать отправку сообщений на сайте??(типо как вконтакте и на других сайтах, чтоб было видно какие новые, какий прочтенные)
Post #: 1144
RE: Вопросы по PHP (для новичков) - 2009-12-20 12:53:51.800000   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
сделать в бд булевское поле прочитано/нет, при прочтении менять на "прочитано"
Post #: 1145
RE: Вопросы по PHP (для новичков) - 2009-12-20 14:36:15.966666   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Parano1d можешь, пожалуйста, помочь реализовать или дать пример кода??
Post #: 1146
RE: Вопросы по PHP (для новичков) - 2009-12-20 15:54:51.820000   
Parano1d

Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
// Получаем все сообщения в массив $messages, $message - отдельное сообщение, $message['text'] - текст сообщения, $message['read'] - прочитано или нет // В цикле проходим по всем сообщениям и выводим их (я не знаю, как тебе точно надо, сам измени): foreach ($messages as $message) { echo $message['text']; if ($message['read']) echo ' (прочитано)'; else { echo ' (не прочитано)'; // Обновляем бд, ставим статус сообщения "прочитано" } } это просто пример… дальше сам додумывай, как тебе надо реализовать
Post #: 1147
RE: Вопросы по PHP (для новичков) - 2009-12-20 16:47:52.823333   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Parano1d спасибо, наверно всетаки, придется выдерать из какой-то CMS=)
Если есть люди которые с этим встречались, то помогите, пожалуйста……
Post #: 1148
RE: Вопросы по PHP (для новичков) - 2009-12-20 22:24:26.246666   
Papa James

Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
Для начала посмотри работу с БД в PHP.

Алгоритм написания такой примерно
1. Посылаем сообщение
2. Добавляем его в БД с помощью Insert.

Вывод сообщений
1. Выбираем нужные сообщения с помощью Select.
2. Фильтруем прочитанные и непрочитанные сообщения. Например так, как вверху указано.
Post #: 1149
RE: Вопросы по PHP (для новичков) - 2009-12-20 22:39:20.810000   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Unknown column 'admin' in 'field list' ——– что за ошибка, если admin я передаю через форму…….
Post #: 1150
RE: Вопросы по PHP (для новичков) - 2009-12-20 22:53:45.606666   
Korovka

Сообщений: 39
Оценки: 0
Присоединился: 2009-11-18 16:39:52.040000
Сори, разобрался;)
Post #: 1151
RE: Вопросы по PHP (для новичков) - 2009-12-24 13:48:23.863333   
cyberx

Сообщений: 83
Оценки: 0
Присоединился: 2009-01-04 11:47:38.966666
у меня такая проблема с циклом. вот например с базы вытаскиваю фото
quote:


$select_other_album = mysql_query("select * from album where user_id = '$id'",$db) or die ("Can't select result");
$selected_other_album = mysql_fetch_array($select_other_album);
do
{
тут выводятся фото
}
while($selected_other_album = mysql_fetch_array($select_other_album));

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


$select_other_album = mysql_query("select * from album where user_id = '$id'",$db) or die ("Can't select result");
$selected_other_album = mysql_fetch_array($select_other_album);
do
{
$sel_chack = mysql_query("select * from vote where user_id = '$id' and my_id='$user_id'",$db) or die ("Can't select result");
$se_chack = mysql_fetch_array($sel_chack);
if ($selected_other_album['img'] == $se_chack['img'])
{
$vote = $se_chack['rating'];
}
else
{
$vote = '0';
}
тут выводятся фото,форма голосования и $vote
}
while($selected_other_album = mysql_fetch_array($select_other_album));


проблема в том что $vote только один раз присваивается значение, а мне надо чтоб там тоже в цикле выходило. может кто подскажет как вывести цикл в цикле? мне только это нужно, остальное работает

Post #: 1152
RE: Вопросы по PHP (для новичков) - 2009-12-24 19:19:35.176666   
Shtil

Сообщений: 255
Оценки: 0
Присоединился: 2009-09-29 00:20:19.120000
подскажите как сделать переадресацию в движке wap-engine4.2 там ешё есть какойто файл index.txt может там чё прописывать надо? и какой код подскажите чтоб там можно было поставить через сколько секунд переадресовывать
Post #: 1153
RE: Вопросы по PHP (для новичков) - 2009-12-25 09:04:11.203333   
Papa James

Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
htacces redirect
Post #: 1154
RE: Вопросы по PHP (для новичков) - 2009-12-29 21:38:16.340000   
popanderpizdez

Сообщений: 4
Оценки: 0
Присоединился: 2009-12-29 21:13:52.613333
Зделай жызнь проще...
Зайди наVsem-DA.com
Post #: 1155
RE: Вопросы по PHP (для новичков) - 2009-12-30 20:12:32.700000   
Dark.Lord

Сообщений: 141
Оценки: 0
Присоединился: 2009-02-28 17:24:27.466666
quote:

htacces redirect

Не везде стоит апач. Лучше Rewrite юзать.
Post #: 1156
RE: Вопросы по PHP (для новичков) - 2010-01-04 21:02:15.350000   
Warezpage

Сообщений: 3
Оценки: 0
Присоединился: 2010-01-04 20:43:44.826666
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Здесь вы найдете&nbsp; Проги статьи для хакеров и много другого&nbsp; http://warezpage.do.am
Post #: 1157
RE: Вопросы по PHP (для новичков) - 2010-01-10 09:34:56.150000   
BigWheet

Сообщений: 1
Оценки: 0
Присоединился: 2010-01-10 09:27:42.683333
yiy uyioy
Post #: 1158
RE: Вопросы по PHP (для новичков) - 2010-01-11 00:35:58.816666   
s0llo

Сообщений: 7
Оценки: 0
Присоединился: 2009-12-13 00:00:19.873333
в уроках от группы 9009 прочитал про sql injectin
создал базу (все как написано)

CREATE DATABASE site;

USE site; CREATE TABLE pages ( id INT NOT NULL AUTO_INCREMENT, content TEXT, PRIMARY KEY(id) ); CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name CHAR(32), pass CHAR(32), PRIMARY KEY(id) ); INSERT INTO pages (content) VALUES ('Page number 1'),('Page number 2'),('Page number 3'),('Page number 4'),('Page number 5'); INSERT INTO users (name, pass) VALUES ('Vasya','22vasya22'),('Petya','qwerty'),('Alex','1234567'),('admin','fh&gfkTsu'),('Serega','sex');
создал php код!

&lt;?PHP $server='localhost'; //имя сервера базы данных $user='root'; //имя учетной записи, по которой будет осуществляться подключение $pass='qwerty4'; //пароль для учетной записи $dbname='test'; //имя базы данных $link=mysql_connect($server, $user, $pass); mysql_select_db($dbname, $link); $sel_query="SELECT * FROM pages WHERE id=".$_GET[id]; $res=mysql_query($sel_query , $link); $arr=mysql_fetch_assoc($res); mysql_close($link); echo $arr[content]; ?&gt;
но вот проблемма с кодом… после того как я подключаюсь, у меня в браузере выводит ошибку

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sql\index.php on line 11
даже не знаю вчем дело!!!! помогите кто может))
Post #: 1159
RE: Вопросы по PHP (для новичков) - 2010-01-11 02:00:16.383333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
так ты $_GET[id] задал в строке браузера? Или так и обращаешься к скрипту - http://localhost/denwer/test.php ?)))

PS: http://localhost/denwer/test.php?id=1
Post #: 1160
Страниц:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [29] 30 31 32 33 34 35 36 37 38
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.