Показать сообщение отдельно
  #6 (permalink)  
Старый 03.07.2017, 11:41
Новичок на форуме
Отправить личное сообщение для hittment Посмотреть профиль Найти все сообщения от hittment
 
Регистрация: 30.06.2017
Сообщений: 6

Сообщение от Dilettante_Pro Посмотреть сообщение
hittment,
Вы задаете вопрос, но не излагаете деталей. Причина может быть в какой-то мелочи.

Пример можно?

А обработчик на сервере что делает с этим параметром?

Я в скринах показал что происходит если с изначально выбранным юзером "переписыватся", и если кого то другого выбрать.
И я никак не пойму почему если в первом случае все работает нормально, то во втором перестает работать.

На сервере обработчик сверяет пришедшее значение со значением в БД.
Вот мое творение прошу сильно не критиковать ибо это мой первый сайт который я пишу, код обработчика:
<?php
include("setting.php");
header("Content-Type: text/json; charset=utf-8");
$json = array();
if(isset($_GET))
{
	// SendMessage($_POST['option1'],$_POST['Message'],$_POST['option2']);
		if($_GET['option1'] == $_SESSION['logged_user']->login)
	{
		$json['error'] = 'Ошибка, попытка отправить сообщение самому себе!';
		echo json_encode($json);
		die();
	}
$table = '';	
if($_GET['option2'] == 1)
$table = 'users';
if($_GET['option2'] == 2)
$table = 'employer';
if($_GET['option2'] == 3)
$table == 'admins';
if($table != '')
	{
		$query = "SELECT * FROM ".$table;
		$result = R::getall($query);
		$users = R::convertToBeans( $table, $result );
				
		foreach ($users as $curus)
		{
			if(md5($curus->login) == $_GET['option1'])
			$user = $curus;
		}
		if($user)
		{
			$row = R::findOne('dialogs', 'receive = ? AND send = ? OR receive = ? AND send = ?',
							array(
									md5($user->id.$user->login.$user->IsAdmin),
									md5($_SESSION['logged_user']->id.$_SESSION['logged_user']->login.$_SESSION['logged_user']->IsAdmin),
									md5($_SESSION['logged_user']->id.$_SESSION['logged_user']->login.$_SESSION['logged_user']->IsAdmin),
									md5($user->id.$user->login.$user->IsAdmin)
									)
							);
			if($row)//найден диалог
			{
				$did = $row->id;
				$row->status = 0;
				$row->send = md5($_SESSION['logged_user']->id.$_SESSION['logged_user']->login.$_SESSION['logged_user']->IsAdmin);
				$row->receive = md5($user->id.$user->login.$user->IsAdmin);
				R::store($row);
			}
			else// не найден диалог
			{
				$row = R::dispense('dialogs');
				$row->status = 0;
				$row->send = md5($_SESSION['logged_user']->id.$_SESSION['logged_user']->login.$_SESSION['logged_user']->IsAdmin);
				$row->receive = md5($user->id.$user->login.$user->IsAdmin);
				$did = R::store($row);
			}
		if(	$_GET['Message'] != "")
		{
		$msg = R::dispense('messages');	
		$msg->did = $did;
		$msg->user = md5($_SESSION['logged_user']->id.$_SESSION['logged_user']->login.$_SESSION['logged_user']->IsAdmin);
		$msg->message = $_GET['Message'];
		$msg->senddate = date("Y-m-d H:i:s");
		R::store($msg);
		$json['error'] = 0;
		echo json_encode($json);
		}
		else
		{
		$json['error'] = "Введите ссобщение!";
		echo json_encode($json);
		}

		}//endif $user==false
		else
		{
			$json['error'] = 'Пользователь не найден!';
			echo json_encode($json);
			die();
		}
	}
}
?>


Тут полная версия скринов:
1) http://u4enik.de/img/скрин1.png
2) http://u4enik.de/img/скрин2.png
Изображения:
Тип файла: jpg скрин1.jpg (15.3 Кб, 3 просмотров)
Тип файла: jpg скрин2.jpg (14.2 Кб, 0 просмотров)

Последний раз редактировалось hittment, 03.07.2017 в 11:50.
Ответить с цитированием