View file zip0.ru/messages_send.php

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]);