Сообщение от 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