2016-03-15 2 views
0

Это скрипт для отправки сообщений другим пользователям. Все в порядке, но оно не сохраняет значения полей ввода в базе данных. Я смотрю код с 1 часа, и я не могу найти проблему. 'to', 'subj', 'msg' происходят из формы.Значения не сохраняются в базе данных

<?php 

include 'php/db_connect.php'; 

$name = $_SESSION['name']; 

$to = mysqli_real_escape_string($conn, stripslashes(trim(filter_input(INPUT_POST, 'to')))); 
$sender = $name; 
$subj = mysqli_real_escape_string($conn, stripslashes(trim(filter_input(INPUT_POST, 'subj')))); 
$msg = mysqli_real_escape_string($conn, stripslashes(trim(filter_input(INPUT_POST, 'msg')))); 

$errorTo = ''; 
$errorSubj = ''; 
$errorMsg = ''; 
$errorMain = false; 

if (filter_input_array(INPUT_POST)) { 

    if ($to === $name) { 
     $errorTo = 'Не може да пращаш съобщение на себе си'; 
     $errorMain = true; 
    } 

    $checkTo = "SELECT user_name FROM users WHERE user_name='$to'"; 
    $resultCheck = mysqli_query($conn, $checkTo); 
    $row = mysqli_fetch_array($resultCheck, MYSQLI_ASSOC); 

    if (mysqli_num_rows($resultCheck) == 0) { 
     $errorTo = 'Не съществува такъв потребител'; 
     $errorMain = true; 
    } 

    if (str_word_count($subj) > 20) { 
     $errorSubj = 'Прекалено дълга тема за съобщение'; 
     $errorMain = true; 
    } 

    if (str_word_count($msg) > 300) { 
     $errorSubj = 'Прекалено дълго съобщение'; 
     $errorMain = true; 
    } 

    if (!$errorMain) { 
     $insertInDb = 'INSERT INTO msg (to, sender, subject, msg) VALUES ("$to", "$sender", "$subj", "$msg")'; 
     mysqli_query($conn, $insertInDb); 
    } 
} 


?> 
+5

Dont смотреть на код, добавить базовую проверку ошибок на Querry –

+0

_Everything нормально, но это не сохранять значения в поле ввода в database_ Но вот весь этот код должен делать. Вряд ли _Overything OK_ – RiggsFolly

+0

ОК, это не сохраняет его, но какая ошибка вы получаете? –

ответ

1

Вы используете переменные php в одинарные кавычки. Изменить строку:

$insertInDb = 'INSERT INTO msg (to, sender, subject, msg) 
    VALUES ("$to", "$sender", "$subj", "$msg")'; 

в

$insertInDb = "INSERT INTO msg (to, sender, subject, msg) 
    VALUES ('$to', '$sender', '$subj', '$msg')"; 
+0

Нет, ничего не изменилось. –

+0

Правильный ответ, спасибо alexander – iJamesPHP

Смежные вопросы