powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / личные сообщения из админки пользователю
24 сообщений из 24, страница 1 из 1
личные сообщения из админки пользователю
    #38021474
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток всем! Подскажите как можно сделать отправку сообщения пользователю из админки.
есть таблица в бд пользователей там ид логин меил и т.д.
мне приходит в голову создать в этой таблице еще ячейку "massage"
в админке через форму отправлять сообщение в эту ячейку
а затем делать на странице пользователя запрос в эту ячейку и выводить сообщение
в правильном направлении я думаю?
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021500
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если к-во сообщений на пользователя не должно превышать одного, а старое должно затираться новым - то вполне. Иначе делать табличку с полями user_id и message_text (и еще пяток полей вроде даты, автора, признака прочтения, важности...).
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021523
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

это должно быть что то вроде оповещение пользователю.
мне нужно зделать это сегодня, ну а в будующем уже конечно можно доработать до системы внутренних сообщений
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021577
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleЕсли к-во сообщений на пользователя не должно превышать одного, а старое должно затираться новым - то вполне. Иначе делать табличку с полями user_id и message_text (и еще пяток полей вроде даты, автора, признака прочтения, важности...).


стоп....мне нужно создавать дополнительные ячейки именно в текущей таблице?
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021673
mambatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
altair_rem,

Ну не совсем верно, Вам нужно полюбому сделать отдельную таблицу для сообщений, это будет правильно со всех точек зрения, даже если у Вас всего одно сообщение на пользователя. Там делаете поля, id,msgtext,user_id,date.
И дальше на странице пользователя по его id выводите его сообщения.
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021708
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mambatronaltair_rem,

Ну не совсем верно, Вам нужно полюбому сделать отдельную таблицу для сообщений, это будет правильно со всех точек зрения, даже если у Вас всего одно сообщение на пользователя. Там делаете поля, id,msgtext,user_id,date.
И дальше на странице пользователя по его id выводите его сообщения.


я не могу представить как синхронизировать id пользователя который находиться в таблице p1_users с другой таблицей p1_massage
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021766
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altair_remmambatronaltair_rem,

Ну не совсем верно, Вам нужно полюбому сделать отдельную таблицу для сообщений, это будет правильно со всех точек зрения, даже если у Вас всего одно сообщение на пользователя. Там делаете поля, id,msgtext,user_id,date.
И дальше на странице пользователя по его id выводите его сообщения.


я не могу представить как синхронизировать id пользователя который находиться в таблице p1_users с другой таблицей p1_massage
Я юзер, я авторизован, мой id находиться в $_SESSION['user']['id']
тогда на каждой странице можно делать запрос вида:
Код: sql
1.
SELECT * FROM p1_message WHERE user_id = $_SESSION['user']['id'] ORDER BY date DESC;


ps. По нормальному надо сделать 1 поле в users: (enum has_event ("yes","no") default "no") и табличку p1_messages
При отправке сообщения сразу апдетите users.has_event = yes у пользователя которому посылаете. А он в свою при каждой загрузке страницы будет иметь код:
Код: php
1.
2.
3.
4.
5.
$i = select(SELECT * FROM users WHERE id = $_SESSION['user']['id']);
if ($i['has_event'] == 'yes') {
$messages = select(SELECT * FROM p1_message WHERE user_id = $_SESSION['user']['id'] ORDER BY date DESC);
// тут выводите попап что пришло сообщение
}


Если не поняли поскриптум - то забейте
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021904
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренатaltair_remпропущено...



я не могу представить как синхронизировать id пользователя который находиться в таблице p1_users с другой таблицей p1_massage
Я юзер, я авторизован, мой id находиться в $_SESSION['user']['id']
тогда на каждой странице можно делать запрос вида:
Код: sql
1.
SELECT * FROM p1_message WHERE user_id = $_SESSION['user']['id'] ORDER BY date DESC;


ps. По нормальному надо сделать 1 поле в users: (enum has_event ("yes","no") default "no") и табличку p1_messages
При отправке сообщения сразу апдетите users.has_event = yes у пользователя которому посылаете. А он в свою при каждой загрузке страницы будет иметь код:
Код: php
1.
2.
3.
4.
5.
$i = select(SELECT * FROM users WHERE id = $_SESSION['user']['id']);
if ($i['has_event'] == 'yes') {
$messages = select(SELECT * FROM p1_message WHERE user_id = $_SESSION['user']['id'] ORDER BY date DESC);
// тут выводите попап что пришло сообщение
}


Если не поняли поскриптум - то забейте







1. создаю базу

CREATE TABLE IF NOT EXISTS `p1_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`from` int(11) NOT NULL,
`to` int(11) NOT NULL,
`msgtext` text NOT NULL,
`flag` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;



2. в админке делаю форму ---пока есть поля "кому" список пользователей, и текстовое поле


<?php
/*Подключение к бд*/
include ("db.php");
/*Вывод пользователей*/
$result = mysql_query("SELECT * FROM p1_users ORDER BY id DESC",$db);
$myrow = mysql_fetch_array($result);
?>
<b>Отправка сообщения</b>
<form name="form1" method="post" action="new_message.php">
<p><!--Выбор пользователя из списка таблицы users-->
<label for="message_whom">Кому:</label>
<select name="message_whom" id="message_whom">
<option value="<?php echo $myrow['login']; ?>"><?php echo $myrow['login']; ?></option>

</select>
</p>
<p>
<label for="message_message">Сообщение:</label>
<textarea name="message_message" id="message_message" cols="45" rows="5"></textarea>
</p>
<p>
<input type="submit" name="button" id="button" value="Отправить сообщение">
</p>
</form>




обработчик
тут ваще без понятия что писать(((
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38021976
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выше в форме была ошибка
исправил
Код: sql
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.
<?php 
/*Вывод последних зарегистрировавшихся пользователей*/
$result = mysql_query("SELECT * FROM p1_users ORDER BY id  DESC");
$myrow = mysql_fetch_array($result);
?>
<b>Отправка сообщения</b>
<form name="form1" method="post" action="new_message.php">
  <p><!--Выбор пользователя из списка таблицы users-->
    <label for="message_whom">Кому:</label>
    <select name="message_whom" id="message_whom">
      <option value="<?php echo $myrow['login']; ?>"><?php
while($myrow = mysql_fetch_assoc($result))
 echo '<option value="'.$myrow['login'].'">'.$myrow['login'].'</option>'; 
 ?></option>
  
    </select>
  </p>
  <p>
    <label for="message_message">Сообщение:</label>
    
	<textarea class="tinymce" cols="50" rows="7" name="message_message" id="message_message" style="margin-left:10px; margin-bottom:10px; width: 100%;	">
	</textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Отправить сообщение">
  </p>
</form>
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38022028
mambatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
altair_rem,

В обработчике соответственно что-то типа:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
//Получаем сообщение и id пользователя кому сообщение и от кого сообщение
$msg = mysql_real_escape_string($_POST['message_message']);
$who_user_id = mysql_real_escape_string($_POST['message_whom']);
$from_userid = $_SESSION['user']['id'];

//Сохраняем в базе
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
mysql_query($query);
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38022061
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mambatronaltair_rem,

В обработчике соответственно что-то типа:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
//Получаем сообщение и id пользователя кому сообщение и от кого сообщение
$msg = mysql_real_escape_string($_POST['message_message']);
$who_user_id = mysql_real_escape_string($_POST['message_whom']);
$from_userid = $_SESSION['user']['id'];

//Сохраняем в базе
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
mysql_query($query);




что бы я без Вас делал=)
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38022078
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mambatronaltair_rem,

В обработчике соответственно что-то типа:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
//Получаем сообщение и id пользователя кому сообщение и от кого сообщение
$msg = mysql_real_escape_string($_POST['message_message']);
$who_user_id = mysql_real_escape_string($_POST['message_whom']);
$from_userid = $_SESSION['user']['id'];

//Сохраняем в базе
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
mysql_query($query);






это название столбцов? from_user_id, to_userid, message и что значит date=now()?
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38022169
mambatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
altair_remmambatronaltair_rem,

В обработчике соответственно что-то типа:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
//Получаем сообщение и id пользователя кому сообщение и от кого сообщение
$msg = mysql_real_escape_string($_POST['message_message']);
$who_user_id = mysql_real_escape_string($_POST['message_whom']);
$from_userid = $_SESSION['user']['id'];

//Сохраняем в базе
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
mysql_query($query);






это название столбцов? from_user_id, to_userid, message и что значит date=now()?
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
Ну да, Вы можете назвать то как угодно это я так для примера:
from_user_id - id пользователя от кого сообщение
to_userid - id пользователя кому сообщение
message - соответственно само сообщения
date - дата создания сообщения
now() - это sql команда, записать текущую дату и время
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024038
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mambatronaltair_remпропущено...





это название столбцов? from_user_id, to_userid, message и что значит date=now()?
$query = "INSERT into p1_message SET message='".$msg."', to_userid='".$who_user_id."', from_user_id='".$from_userid."', date=now()";
Ну да, Вы можете назвать то как угодно это я так для примера:
from_user_id - id пользователя от кого сообщение
to_userid - id пользователя кому сообщение
message - соответственно само сообщения
date - дата создания сообщения
now() - это sql команда, записать текущую дату и время




вообщем решил потестировать
создал таблицу,
вставил форму

Код: sql
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.
<?php 
/*Вывод последних зарегистрировавшихся пользователей*/
$result = mysql_query("SELECT * FROM p1_users ORDER BY id  DESC");
$myrow = mysql_fetch_array($result);
?>
<b>Отправка сообщения</b>
<form name="form1" method="post" action="masage_insert.php">
  <p><!--Выбор пользователя из списка таблицы users-->
  <p style="margin-left:0px; margin-bottom:10px; border-bottom:0px solid #000033;"><strong>Тема</strong>
    <input style="width: 100%;" style="margin-left:10px; margin-bottom:10px" name="title" type="text" value=""></p>
    
	 <label for="setting">Важность</label>
            <select name="setting">
            <option value="0">Общая</option>
            <option value="1">Важная</option>
            </select>
	
	
	<label for="message_whom">Кому:</label>
    <select name="message_whom" id="message_whom">
      <option value="<?php echo $myrow['login']; ?>"><?php
while($myrow = mysql_fetch_assoc($result))
 echo '<option value="'.$myrow['login'].'">'.$myrow['login'].'</option>'; 
 ?></option>
  
    </select>
  </p>
  <p>
    <label for="message_message">Сообщение:</label>
    
	<textarea class="tinymce" cols="50" rows="7" name="message_message" id="message_message" style="margin-left:10px; margin-bottom:10px; width: 100%;	">
	</textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Отправить сообщение">
  </p>
</form>





написал обработчик


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?php
include("../../inc/bd.php");
//Получаем сообщение и id пользователя кому сообщение и от кого сообщение
$msg = mysql_real_escape_string($_POST['message_message']);
$who_user_id = mysql_real_escape_string($_POST['message_whom']);
$from_userid = 'prosument';


//Сохраняем в базе
$query = "INSERT into p1_message SET msgtext='".$msg."', to='".$who_user_id."', from'".$from_user_id."', date=now()";
mysql_query($query);
?>




хотел посмотрел заносятся данные в табл.
Но увы ничего там нет(((
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024069
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудес не бывает...
echo mysql_error();
потом
var_dump($query);
потом мануал по синтаксису запросов мускуля. Или сначала мануал...
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024442
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
форма в админке

Код: sql
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.
<?php 
/*Вывод последних зарегистрировавшихся пользователей*/
$result = mysql_query("SELECT * FROM p1_users ORDER BY id  DESC");
$myrow = mysql_fetch_array($result);
?>
<b>Отправка сообщения</b>
<form name="form1" method="post" action="masage_insert.php">
  <p><!--Выбор пользователя из списка таблицы users-->
  <p style="margin-left:0px; margin-bottom:10px; border-bottom:0px solid #000033;"><strong>Тема</strong>
    <input style="width: 100%;" style="margin-left:10px; margin-bottom:10px" name="title" type="text" value=""></p>
    
		<label for="message_whom">Кому:</label>
    <select name="message_whom" id="message_whom">
      <option value="<?php echo $myrow['login']; ?>"><?php
while($myrow = mysql_fetch_assoc($result))
 echo '<option value="'.$myrow['login'].'">'.$myrow['login'].'</option>'; 
 ?></option>
  
    </select>
  </p>
  <p>
    <label for="text">Сообщение:</label>
    
	<textarea class="tinymce" cols="50" rows="7" name="text" id="text" style="margin-left:10px; margin-bottom:10px; width: 100%;	">
	</textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Отправить сообщение">
  </p>
</form>





обработчик


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?php
include("../../inc/bd.php");
include("lock.php");
if (isset($_POST['title'])) {$title=$_POST['title'];} 
if ($title==''){unset($title);}
if (isset($_POST['text'])) {$text=$_POST['text'];} 
if ($text==''){unset($text);}
if (isset($_POST['user_id'])) {$message_whom=$_POST['message_whom'];} 
if ($message_whom==''){unset($message_whom);}
if (isset($title) && isset($text))
{
$date = time();
mysql_query("INSERT INTO p1_message (title,text,date,user_id) VALUES ('$title','$text','$date','$message_whom')");

echo "<p style='margin:20px; margin-left:60px;' >сообщение отправленно</p>";
} else {
echo "<p>Вы ввели не все данные!</p>";
}


?>



помогите пожалуйста, в таблице отображается все, только в столбике user_id стоит "0"...тоесть как я понимаю форма не передает ID пользавтеля в выпадающем списке select
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024445
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вернее в выподающем списке высвечиваються пользователи но обработчик неперадает его в таблицу p1_massage
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024452
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altair_rem,

Такое ощущение, что Вы пишите код методом тыка и пытаетесь угадать правильный вариант. Можно, конечно, и так, только слишком уж долго и муторно.

В $_POST['message_whom'] есть айди? Нет - смотрите, что отсылает браузер. Есть - выводите текст получившегося запроса, посмотрите, попадает ли в запрос айди пользователя. Если не попадает - смотрите, где он теряется. Если попадает - смотрите сообщение mysql_error().

PS: Вот это
Код: php
1.
if ($message_whom==''){unset($message_whom);}

зачем так? По логике Вашего кода, если в качестве айди пользователя передана пустая строка (значение айди отсутствует), то при формированиии текста запроса будет сформирован warning из-за отсутствующей переменной.
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024472
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklealtair_rem,

Такое ощущение, что Вы пишите код методом тыка и пытаетесь угадать правильный вариант. Можно, конечно, и так, только слишком уж долго и муторно.

В $_POST['message_whom'] есть айди? Нет - смотрите, что отсылает браузер. Есть - выводите текст получившегося запроса, посмотрите, попадает ли в запрос айди пользователя. Если не попадает - смотрите, где он теряется. Если попадает - смотрите сообщение mysql_error().

PS: Вот это
Код: php
1.
if ($message_whom==''){unset($message_whom);}

зачем так? По логике Вашего кода, если в качестве айди пользователя передана пустая строка (значение айди отсутствует), то при формированиии текста запроса будет сформирован warning из-за отсутствующей переменной.


я новичек в php это очевидно ведь, увы жаль, но мне приходиться методом тыка...
я изучаю php на конкретной задаче.
я посмотрел в браузере
профиль пользователя имеет строку cabinet.php? id=163
тоесть мне нужно что бы переменная $message_whom передовала ID пользователя в таблицу p1_message
но в выподающем списке

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
<label for="message_whom">Кому:</label>
    <select name="message_whom" id="message_whom">
      <option value="<?php echo $message_whom['login']; ?>"><?php
while($message_whom = mysql_fetch_assoc($result))
 echo '<option value="'.$myrow['login'].'">'.$myrow['login'].'</option>'; 
 ?></option>
  
    </select>


окончательно запутался, но бросать неннамерен...)
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024487
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altair_remя новичек в php это очевидно ведьВсе когда-то были новичками и в PHP и в других ЯП. Да и такая штука как "отладка" применима ко всем языкам программирования. От ошибок не застрахован никто, а значит, их надо уметь вылавливать.


altair_remувы жаль, но мне приходиться методом тыка...Действительно, жаль. Немного теории по веб-технологиям и программированию не повредило бы, конечно. Но, Вам тут виднее :-)


altair_remмне нужно что бы переменная $message_whom передовала ID пользователя в таблицу p1_message
но в выподающем списке
1. "Чтобы" в данном случае пишется слитно.
2. В списке то айдишники реально присутствуют, или Вы только думаете что они там присутствуют?
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024491
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklealtair_remя новичек в php это очевидно ведьВсе когда-то были новичками и в PHP и в других ЯП. Да и такая штука как "отладка" применима ко всем языкам программирования. От ошибок не застрахован никто, а значит, их надо уметь вылавливать.


altair_remувы жаль, но мне приходиться методом тыка...Действительно, жаль. Немного теории по веб-технологиям и программированию не повредило бы, конечно. Но, Вам тут виднее :-)


altair_remмне нужно что бы переменная $message_whom передовала ID пользователя в таблицу p1_message
но в выподающем списке
1. "Чтобы" в данном случае пишется слитно.
2. В списке то айдишники реально присутствуют, или Вы только думаете что они там присутствуют?

присутствуют...
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024496
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в массиве $_POST присутствуют?
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024500
altair_rem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleА в массиве $_POST присутствуют?
где именно?
...
Рейтинг: 0 / 0
личные сообщения из админки пользователю
    #38024501
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altair_remгде именно?
vkleв массиве $_POST
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / личные сообщения из админки пользователю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]