Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Передача "id" сообщения, в ссылку внутри текста сообщения

21.02.2011, 14:05. Просмотров 2411. Ответов 17
Метки нет (Все метки)


Доброго времени суток ув.программисты, вобщем такая ситуация, пользователю пришло сообщение с предложением, ПРИНЯТь или ОТКЛОНИТЬ предложение дружбы, если он нажимает ОТКЛОНИТЬ, то отравляется сообщение пользователю который предложил дружбу с текстом типа "ваша заявка отклонена", а сообщение с предложением дружбы автоматически удалялось после нажатия кнопки "отклонить".....
т.е. по нажатию кнопки ОТКЛОНИТЬ мы автоматом отправляем сообщение с текстом отказа, и автоматом удаляем входящее где содержалась эта кнопка ОТКЛОНИТЬ!!!!

задача заключается в том, чтобы передать id самого сообщения в ссылочку ОТКЛОНИТЬ, которая находится в нем - в самом сообщении!
чтоб потом с помощью скрипта который удаляет сообщения, удалить его!

в сам отправщик таких сообщений - с именем пользавателя предложившего дружбу текстом предложения и кнопками ПРИНЯТЬ\ОТКЛОНИТЬ, это id всунуть немогу, так как текст генерируется до отправки самого сообщения.......

как решить эту проблему? мне очень нужна ваша помощь и ваши советы! заранние благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2011, 14:05
Ответы с готовыми решениями:

Сразу же узнать "id" толькочто отправленного в базу сообщения!
Доброго времени суток, ситуация такая, отправляю в базу сообщение, мне нужно чтобы сразу после...

Из формы отправки сообщения на e-mail приходят "иероглифы"
Добрый день. Отправляя письмо из формы отправки со своего сайта, на e-mail адресату приходят...

Форма отправки сообщения: не срабатывает кнопка "Отправить"
привет всем! помогите, пожалуйста, с такой проблемой: есть код формы для отправки данных, при...

Вывод сообщения "Этот сайт говорит."
Здравствуйте, нужна помощь знатоков в этом деле. Мне нужно чтобы на сайте был вывод сообщения "Этот...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы Fullstack-разработчиков на PHP‌
17
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 776
21.02.2011, 14:16 2
Код бы частично посмотреть, где id принимается, и куда надо вставить...
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 14:23  [ТС] 3
Цитата Сообщение от RosenR@t Посмотреть сообщение
Код бы частично посмотреть, где id принимается, и куда надо вставить...
вот тут принимается:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$author='SYSTEM';
$date = date("Y-m-d"); 
$text = 'Пользователь <'. $login . '> предлагает вам дружбу!<br> <a href=\"add_fnd_y.php?login='.$login.'&user_id='.$user_id.'\">Принять</a> || <a href=\"add_fnd_n.php?login='.$login.'&user_id='.$user_id.'\">Отклонить</a>'; 
 
 
$result4 = mysql_query ("INSERT INTO messages (author,poluchatel,date,text) VALUES ('$author','$friend_name','$date','$text')");
 if ($result4=='TRUE')
            {
 
            echo "Ваше предложение дружбы, пользователю ".$friend_name." , успешно отправлено!";
            
            }          
else     {
            echo "Ошибка! Предложение дружбы не отправлено!!!";
         }
а здесь мы должны удалить:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Отправляем запрос на отклонение добавление в друзья
 
$author='SYSTEM';
$date = date("Y-m-d"); 
$text = 'Пользователь '. $login . ' отказывается принимать ваше предложение дружбы!!'; 
 
 
$result4 = mysql_query ("INSERT INTO messages (author,poluchatel,date,text) VALUES ('$author','$friend_name','$date','$text')");
 
 
 if ($result4=='TRUE')
            {
 
            echo "Ваш отказ дружбы, пользователю ".$friend_name." , успешно отправлен!";
            
            }          
else     {
            echo "Ошибка! Предложение об отказе дружбы не отправлено!!!<br>";
         }
с помощью обработчика который должен получить id (например в переменной $msg_id):
PHP
1
echo "<html><head><meta    http-equiv='Refresh' content='1;    URL=drop_post.php?id=".$msg_id."'></head><body>сообщение удалено!</html>";
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 14:27 4
В файле drop_post.php просто пишешь
PHP
1
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 14:29  [ТС] 5
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
PHP
1
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
А обьяснить можеш где тут что?
0
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 776
21.02.2011, 14:33 6
PHP
1
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
Дословно Удалить все из таблицы message где поле id равно полученному id
Иначе выдать ошибку...

Добавлено через 42 секунды
Похожая тема
Работа с циклом
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 14:35 7
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$result4 = mysql_query ("INSERT INTO messages (author,poluchatel,date,text) VALUES ('$author','$friend_name','$date','$text')");
 
 
 if ($result4=='TRUE')
            {
 
            echo "Ваш отказ дружбы, пользователю ".$friend_name." , успешно отправлен!";
                        
            }          
else     {
            echo "Ошибка! Предложение об отказе дружбы не отправлено!!!<br>";
         }
 
$msg_id = mysql_insert_id();
 
echo "<html><head><meta    http-equiv='Refresh' content='1;    URL=drop_post.php?id=".$msg_id."'></head><body>сообщение удалено!</html>";
Тут у тебя идет перенаправление на страницу с параметром $msg_id(id твоего сообщения)

$_GET['id'] читаешь переменную из URLa

Добавлено через 42 секунды
Цитата Сообщение от RosenR@t Посмотреть сообщение
Похожая тема
Работа с циклом
не там немного другое

Добавлено через 43 секунды
PHP
1
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
и удаляешь сообщение
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 14:36  [ТС] 8
Цитата Сообщение от RosenR@t Посмотреть сообщение
PHP
1
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
Дословно Удалить все из таблицы message где поле id равно полученному id
Иначе выдать ошибку...

Добавлено через 42 секунды
Похожая тема
Работа с циклом
вопрос в том, как всунуть id в массив $_GET, вот в этом вот коде:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$author='SYSTEM';
$date = date("Y-m-d"); 
$text = 'Пользователь <'. $login . '> предлагает вам дружбу!<br> <a href=\"add_fnd_y.php?login='.$login.'&user_id='.$user_id.'\">Принять</a> || <a href=\"add_fnd_n.php?login='.$login.'&user_id='.$user_id.'\">Отклонить</a>'; 
 
 
$result4 = mysql_query ("INSERT INTO messages (author,poluchatel,date,text) VALUES ('$author','$friend_name','$date','$text')");
 if ($result4=='TRUE')
            {
 
            echo "Ваше предложение дружбы, пользователю ".$friend_name." , успешно отправлено!";
                        
            }          
else     {
            echo "Ошибка! Предложение дружбы не отправлено!!!";
         }
p.s.
и тема которую вы предложили, на мою не похожа!!!
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 14:38 9
Ты не много не так делаешь я считаю что нужно делать таким образом. Когда человек заходит на свою страницу идет запрос в БД с поиском по таблице предложений по ID пользователю. А с твоим вариантом нужно лишний раз обращаться к БД и делать UPDATE поля с сообщением.
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 14:42  [ТС] 10
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
ой не то сейчас посмотрим
это я понял, но нужно чтоб $msg_id летело вместе в тексте сообщения, а не просто выводилось.....ведь в вашем примере сообщение уже отправилось, а потом мы уже выводим $msg_id.....
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 14:47  [ТС] 11
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Ты не много не так делаешь я считаю что нужно делать таким образом. Когда человек заходит на свою страницу идет запрос в БД с поиском по таблице предложений по ID пользователю. А с твоим вариантом нужно лишний раз обращаться к БД и делать UPDATE поля с сообщением.
я думаю что можно сделать запрос на схожность текста с указанными параметрами типа где автор==отправитель, а получатель==получатель, но на сходность текста - это слишком много грязи, думаю мож есть вариант проще!!??
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 14:50 12
Это не нужно
когда человек заходит на страницу ты делаешь так
PHP
1
2
3
$result = mysql_query ("SELECT * FROM messages Where poluchatel='такой то юзер');
echo "Пользователь ".$result['author']." предлагает вам дружбу!<br>
 <a href='add_fnd_y.php?login=".$login."&user_id=".$user_id."'>Принять</a> || <a href='add_fnd_n.php?login=".$login."&user_id=".$user_id."&idm=".$result['id']."'>Отклонить</a>";
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 15:00  [ТС] 13
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Это не нужно
когда человек заходит на страницу ты делаешь так
PHP
1
2
3
$result = mysql_query ("SELECT * FROM messages Where poluchatel='такой то юзер');
echo "Пользователь ".$result['author']." предлагает вам дружбу!<br>
 <a href='add_fnd_y.php?login=".$login."&user_id=".$user_id."'>Принять</a> || <a href='add_fnd_n.php?login=".$login."&user_id=".$user_id."&idm=".$result['id']."'>Отклонить</a>";
вот я сделал так:
PHP
1
2
3
4
5
6
$result7 = mysql_query ("SELECT * FROM messages WHERE author='SYSTEM' AND poluchatel='$login' ");
$myrow7    = mysql_fetch_array($result7);
if($myrow7['text']=='Пользователь <'. $friend_name . '> предлагает вам дружбу!<br> <a href=\"add_fnd_y.php?login='.$friend_name.'&user_id='.$fr_id.'\">Принять</a> || <a href=\"add_fnd_n.php?login='.$friend_name.'&user_id='.$fr_id.'\">Отклонить</a>')
{$msg_id=$myrow7['id'];}
 
echo "<html><head><meta    http-equiv='Refresh' content='1;    URL=drop_post.php?id=".$msg_id."'></head><body>сообщение удалено!</html>";
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 15:00 14
и я не могу понять зачем в этой ссылке
<a href='add_fnd_y.php?login=".$login."&user_id=".$user_id."'>П ринять</a>
передавать login и user_id, обычно такие вещи стараются в URL не засовывать
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 15:05  [ТС] 15
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
и я не могу понять зачем в этой ссылке
<a href='add_fnd_y.php?login=".$login."&user_id=".$user_id."'>П ринять</a>
передавать login и user_id, обычно такие вещи стараются в URL не засовывать
ну я ж новичок в этом.....
а как лучше?
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 15:07 16
Цитата Сообщение от Sanu0074 Посмотреть сообщение
вот я сделал так:
PHP
1
2
3
4
5
6
$result7 = mysql_query ("SELECT * FROM messages WHERE author='SYSTEM' AND poluchatel='$login' ");
$myrow7    = mysql_fetch_array($result7);
if($myrow7['text']=='Пользователь <'. $friend_name . '> предлагает вам дружбу!<br> <a href=\"add_fnd_y.php?login='.$friend_name.'&user_id='.$fr_id.'\">Принять</a> || <a href=\"add_fnd_n.php?login='.$friend_name.'&user_id='.$fr_id.'\">Отклонить</a>')
{$msg_id=$myrow7['id'];}
 
echo "<html><head><meta    http-equiv='Refresh' content='1;    URL=drop_post.php?id=".$msg_id."'></head><body>сообщение удалено!</html>";
а зачем тебе тут перенаправление на другую страницу

тебе в эту ссылку нужно засунуть id сообщения <a href=\"add_fnd_n.php?login='.$friend_name.'&user_id='.$fr_id .'&id=".$msg_id."'\">Отклонить</a>'
и в файле add_fnd_n.php
сделать удаление по id

Добавлено через 47 секунд
У тебя пользователь привязан к сессиям или кукам?
0
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.02.2011, 15:09  [ТС] 17
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
а зачем тебе тут перенаправление на другую страницу

тебе в эту ссылку нужно засунуть id сообщения <a href=\"add_fnd_n.php?login='.$friend_name.'&user_id='.$fr_id .'&id=".$msg_id."'\">Отклонить</a>'
и в файле add_fnd_n.php
сделать удаление по id

Добавлено через 47 секунд
У тебя пользователь привязан к сессиям или кукам?
к сессиям...
(перенаправление я использую для того чтоб это id передать скрипту удаления сообщений)
0
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
21.02.2011, 15:12 18
PHP
1
2
3
4
$result7 = mysql_query ("SELECT * FROM messages WHERE author='SYSTEM' AND poluchatel='$login' ");
$myrow7    = mysql_fetch_array($result7);
if($myrow7['text']=='Пользователь <'. $friend_name . '> предлагает вам дружбу!<br> <a href=\"add_fnd.php?fid='.$fr_id.'&id=".$msg_id."'\">Принять</a> || <a href=\"add_fnd.php.php?id=".$msg_id.'&dr=no\">Отклонить</a>')
{$msg_id=$myrow7['id'];}
В файле add_fnd.php
PHP
1
2
3
4
5
6
7
8
if (isset($_GET['dr'])) {
//нажал откланить
$del=mysql_query("DELETE * FROM messages WHERE id='".$_GET['id']."'") or die(mysql_error());
}
else
{
//нажал принять
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2011, 15:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Удаление сообщения с БД (Передача того самого $n сообщения и удаление)
Пишу легкий чатик, но возникла идея - удаление сообщения (-й) Вообщем, с помощью данного кода:...

Как сделать так, чтоб в разделе меню "мои сообщения" отображалось кол-во новых сообщений?
Всем приветик ;) Я довольно таки новый человек в php, сейчас пишу общалку для меня и моих...

<input type="file"name="N1" /> Получить ссылку на файл
Как средствами php получить ссылку на файл или сохранить его на сервер имея следующий кусок формы?...

В файле mail.tpl не выводится заголовок сообщения {$subject} и текст сообщения {$message}
ребят помогите разобраться, изначально у меня все выводилось через функцию popupWindow вот сама...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.