1 Востаннє редагувалося fanatp (27.08.2016 16:08:08)

Тема: Help! Не заноситься в базу!

Ситуація склалася наступна: при натисканні на кнопку добавити ,простий текст без проблем вставляється в базу.
Створив можливість додавання BBCode до тексту,і відповідно перед додавання в базу проганяю через htmlspecialchars().

Проблема : при додаванні php коду в теги  ,що відповідно після натискання кнопки і прогону по htmlspecialchars()  конвертується у потрібний мені формат мало б додаватися в базу .Але якщо в тексті навіть з BB тегами є php код , нічого в базу не записується .Як вирішити цю проблему ,та чому саме так сталося...?

також замітив ,що не тільки php код ай інші мови ...

П.С.:без php коду все працює так як треба...

2

Re: Help! Не заноситься в базу!

Увага! Всі форумні телепати терміново викликаються в гілку! Без вас нічого не зробимо - людина не дала ані коду, ані даних...

Подякували: VTrim, 221VOLT, leofun013

3

Re: Help! Не заноситься в базу!

koala написав:

Увага! Всі форумні телепати терміново викликаються в гілку! Без вас нічого не зробимо - людина не дала ані коду, ані даних...

Вже звернувся.
http://bitva.stb.ua/ua/

Подякували: koala, 221VOLT, leofun013

4 Востаннє редагувалося 221VOLT (27.08.2016 17:37:11)

Re: Help! Не заноситься в базу!

:D вся справа у $$$
це ж php, там все розпочинається з $

Подякували: koala1

5 Востаннє редагувалося fanatp (27.08.2016 18:06:42)

Re: Help! Не заноситься в базу!

koala написав:

Увага! Всі форумні телепати терміново викликаються в гілку! Без вас нічого не зробимо - людина не дала ані коду, ані даних...


$mysqli->query("INSERT INTO articles(id,title,shortstory,fullstory,prev_img,add_date,views,comms,category,tags) 
      VALUES(NULL,'$title','$shortstory','$fullstory','$uploadfile','$add_date','0','0','$category','$tags')");

Якщо це тобі чимось допоможе ,то тримай!

я так розумію ,потрібно замінити $ на щось інше а при виводі назад поміняти ?

6

Re: Help! Не заноситься в базу!

читайте про знак доляра в стрічках php. Раджу спочатку одержати запрос за допомогою php, а потім шукати чого воно не працює.

Подякували: 221VOLT1

7

Re: Help! Не заноситься в базу!

Щоб побачити яка помилка..

$mysqli->query("запит") or die('Помилка: '.$mysqli->error);
Подякували: leofun01, 221VOLT2

8

Re: Help! Не заноситься в базу!

Шановні знатаки ,щиро вдячний за поради ,та проблема вирішена за допомогою addslashes()

9 Востаннє редагувалося fanatp (27.08.2016 18:30:38)

Re: Help! Не заноситься в базу!

VTrim написав:

Щоб побачити яка помилка..

$mysqli->query("запит") or die('Помилка: '.$mysqli->error);

це я перевіряв,у мене по невідомим причинам помилок не видавало!

10

Re: Help! Не заноситься в базу!

Ваша проблема не вирішена, тому, що така ваша "фільтрація" взагалі невірна.
Хоча, робіть як знаєте.

11

Re: Help! Не заноситься в базу!

fanatp, вибачте, я випадково відредагував ваш пост і видалив його.


Скоріше за все, запису не було через вміст символу ' в php коді. Після екранування addslashes запис прийшов, бо немає конфлікту з sql синтаксисом.
Фільтруйте через $mysqli->real_escape_string($text);
А вже на виході htmlspecialchars()

Подякували: fanatp, leofun01, 221VOLT3

12

Re: Help! Не заноситься в базу!

Крім того, записаний php код з addslashes втратить валідність.

13

Re: Help! Не заноситься в базу!

VTrim написав:

fanatp, вибачте, я випадково відредагував ваш пост і видалив його.


Скоріше за все, запису не було через вміст символу ' в php коді. Після екранування addslashes запис прийшов, бо немає конфлікту з sql синтаксисом.
Фільтруйте через $mysqli->real_escape_string($text);
А вже на виході htmlspecialchars()

Щиро вдячний за допомогу!

14

Re: Help! Не заноситься в базу!

fanatp написав:
$mysqli->query("INSERT INTO articles(id,title,shortstory,fullstory,prev_img,add_date,views,comms,category,tags) 
      VALUES(NULL,'$title','$shortstory','$fullstory','$uploadfile','$add_date','0','0','$category','$tags')");

Якщо це тобі чимось допоможе ,то тримай!

Мене зацікавив NULL у вашому запиті, не знаю як у MySQL a Microsoft Access не хоче виконувати запит, щоб id отримував автоматично значення то зробіть його Primary key (первинний ключ) та autoincrement (
автоматичне збільшення) тоді вам не доведеться робити присвоєння id в кожному запиті

$mysqli->query("INSERT INTO articles(title,shortstory,fullstory,prev_img,add_date,views,comms,category,tags) 
      VALUES('$title','$shortstory','$fullstory','$uploadfile','$add_date','0','0','$category','$tags')");

але це потрібно перевірити! (в мене немає MySQL зараз)

15 Востаннє редагувалося fanatp (27.08.2016 20:08:11)

Re: Help! Не заноситься в базу!

Betterthanyou написав:
fanatp написав:
$mysqli->query("INSERT INTO articles(id,title,shortstory,fullstory,prev_img,add_date,views,comms,category,tags) 
      VALUES(NULL,'$title','$shortstory','$fullstory','$uploadfile','$add_date','0','0','$category','$tags')");

Якщо це тобі чимось допоможе ,то тримай!

Мене зацікавив NULL у вашому запиті, не знаю як у MySQL a Microsoft Access не хоче виконувати запит, щоб id отримував автоматично значення то зробіть його Primary key (первинний ключ) та autoincrement (
автоматичне збільшення) тоді вам не доведеться робити присвоєння id в кожному запиті

$mysqli->query("INSERT INTO articles(title,shortstory,fullstory,prev_img,add_date,views,comms,category,tags) 
      VALUES('$title','$shortstory','$fullstory','$uploadfile','$add_date','0','0','$category','$tags')");

але це потрібно перевірити! (в мене немає MySQL зараз)

В базі у поля id стоїть значення Primary key та autoincrement ,саме тому я не записую у базу нічого (NULL),відповідно там іде автоматичне збільшення)

запити які Ви навели ідентичні!_) можна писати так а можна так:)

Подякували: Betterthanyou1

16

Re: Help! Не заноситься в базу!

Ви можете взагалі id не вказувати при записі, якщо стоїть primary key autoincrement.

Подякували: leofun01, 221VOLT2

17

Re: Help! Не заноситься в базу!

VTrim написав:

Ви можете взагалі id не вказувати при записі, якщо стоїть primary key autoincrement.

знаю)просто привик так писати