File size: 1.36Kb
<?php
require_once 'db.php';
header('Content-Type: application/json; charset=utf-8');
if (empty($_SESSION['user_id'])) {
echo json_encode(['ok' => false, 'error' => 'Нужно войти в аккаунт']);
exit;
}
$current_user_id = (int)$_SESSION['user_id'];
$partner_id = isset($_GET['user_id']) ? (int)$_GET['user_id'] : 0;
if ($partner_id <= 0 || $partner_id === $current_user_id) {
echo json_encode(['ok' => false, 'error' => 'Некорректный собеседник']);
exit;
}
// есть ли такой пользователь
$stmt = $mysqli->prepare("SELECT id FROM users WHERE id = ?");
$stmt->bind_param('i', $partner_id);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows === 0) {
echo json_encode(['ok' => false, 'error' => 'Пользователь не найден']);
exit;
}
$stmt->close();
$body = trim($_POST['body'] ?? '');
if ($body === '') {
echo json_encode(['ok' => false, 'error' => 'Пустое сообщение']);
exit;
}
if (mb_strlen($body) > 1000) {
echo json_encode(['ok' => false, 'error' => 'Сообщение слишком длинное']);
exit;
}
$stmt = $mysqli->prepare("INSERT INTO messages (from_user_id, to_user_id, body) VALUES (?, ?, ?)");
$stmt->bind_param('iis', $current_user_id, $partner_id, $body);
$stmt->execute();
$stmt->close();
echo json_encode(['ok' => true]);