[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дополнительный запрос в базу
Nurbekov
Здравствуйте, помогите пожалуйста с проблемой. Сначала опишу что делает этот код:
Пользователь задает вопрос другому, можно анонимно. Так вот когда он задает его анонимно, скрипт не то чтобы скрывает его, он не запоминает. Мне надо чтобы настоящий `author_id` записывался в таблицу `spy_author_id` а `author_id` пусть будет 0 как он сам и делает. Конечно же сам пробовал, но увы без успешно. Работа с бд все же дело тонкое, мелкая ошибка,... К тому я не так хорошо знаком с мускл.
<?php
defined('QAENGINE_AJAX') or die('Access denied');

$logged_in = !is_null($user->get('id'));

// Filtrate userid
$user_id = intval($_POST['user_id']);

/*
* User is logged in and want to ask himself
*/

if($logged_in == true and $user->get('id') == $user_id) {
die(json_encode(array(
'error' => $language->get('error')
)));

}

// Filtrate question
$question = substr(trim(htmlspecialchars(strip_tags($_POST['question']))), 0, 300);

if(empty($question)) {
die(json_encode(array(
'message' => $language->get('type_question')
)));

}

$anonym = ($logged_in == false) ? 1 : intval($_POST['anonym']);

// Select private level
$private_level = $pdo->prepare('SELECT `private_level`
FROM '
. Config::get('db_prefix') . 'users
WHERE `id` = :user_id'
);
$private_level->execute(compact('user_id'));
if($private_level->rowCount() == 0) {
die(json_encode(array(
'error' => $language->get('user_doesnt_exists')
)));

}
$private_level = intval(current($private_level->fetch(PDO::FETCH_NUM)));

/*
* Anonym user, private level eq 1
*/

if($anonym == 1 and $private_level == 1) {
die(json_encode(array(
'message' => $language->get('private_level_error')
)));

}

$author_id = ($anonym == 0 and $logged_in == true) ? $user->get('id') : '0';
$date = time();

/*
* Add question
*/

$add_question = $pdo->prepare('INSERT INTO ' . Config::get('db_prefix') . 'questions
(`user_id`, `author_id`, `question`, `date`)
VALUES (:user_id, :author_id, :question, :date)'
);

/*
* Question added successfully
*/

if($add_question->execute(compact('user_id', 'author_id', 'question', 'date'))) {
die(json_encode(array(
'message' => $language->get('question_added')
)));

}
die(json_encode(array(
'error' => $language->get('error')
)));
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.