Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2015, 15:39   #1
povelitel
Пользователь
 
Регистрация: 27.06.2012
Сообщений: 39
По умолчанию Добавление в базу

Народ кто подскажет почему у меня таблица заполняться не полностью, а точнее заполняются все поля кроме названия, кто не будь сталкивался раньше с этим? Второе поле почему-то перестало заполняться хотя недавно все было нормально. И еще у меня перестали отображаться картинки может это как-то связано?

PHP код:
$itog mysql_query("
              INSERT INTO news (cat,nazvanie,autor,data,image,
              kratkaya,polnaya,meta_d,meta_k,
              scrin1,scrin2,scrin3,scrin4,scrin5,
              scrin6,spoler) VALUES 
              ('
$cat','$zagalovok','$autor',
              '
$data','$files','$kratkaya',
              '
$polnaya','$meta_d','$meta_k',
              '
$scrin1','$scrin2',
              '
$scrin3','$scrin4',
              '
$scrin5','$scrin6','$spoler')"); 
povelitel вне форума Ответить с цитированием
Старый 18.12.2015, 16:15   #2
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Название полей не поменялось? Чему равно значение переменной
Код:
$nazvanie
почему не экранируете ничего? фильтрация есть какая-нибудь? Ошибки не обрабатываете никак?
CodeNOT вне форума Ответить с цитированием
Старый 18.12.2015, 16:27   #3
povelitel
Пользователь
 
Регистрация: 27.06.2012
Сообщений: 39
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
Название полей не поменялось? Чему равно значение переменной
Код:
$nazvanie
почему не экранируете ничего? фильтрация есть какая-нибудь? Ошибки не обрабатываете никак?
В переменную заноситься заголовок статьи. Он должен занестись в поле nazvanie, это поле полностью совпадает с тем что написано в таблице ошибок тут нет. На счет экранизация в первые слышу и фильтрации тоже. Ошибки собственно тоже не обрабатываю не как. Сегодня все нормально было но почему-то перестал заголовок заноситься в базу, в коде не чего не менялось. Могу полностью код предоставь.

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
Название полей не поменялось? Чему равно значение переменной
Код:
$nazvanie
почему не экранируете ничего? фильтрация есть какая-нибудь? Ошибки не обрабатываете никак?
В переменную $zagalovok заноситься название статью потом из этого заголовка создается папка с этим названием куда грузяться картинки к этой статьи

Последний раз редактировалось Stilet; 19.12.2015 в 18:03.
povelitel вне форума Ответить с цитированием
Старый 19.12.2015, 00:08   #4
povelitel
Пользователь
 
Регистрация: 27.06.2012
Сообщений: 39
По умолчанию Ответ2

Вообщем вот код код целиком.
сома форма.


Код HTML:
<form action="edit_dobavit.php" method="POST" enctype="multipart/form-data">
<p>Заголовок</p><input type="text" name="zagalovok" style="width: 400px;"/>
<p>Автор</p><input type="text" name="autor"/>
<p>Категория</p>
<select name="cat">
<?
$result = mysql_query("SELECT id,title FROM categories ");
$myrow = mysql_fetch_array($result);

do{
    printf("<option value='%s'>%s</option>",$myrow['id'],$myrow['title']);
    
    
}
while($myrow = mysql_fetch_array($result));
?>
</select>

<p>Картинка</p><input type="file" name="image" style="border: 1px solid #000;"/>
<p>Краткая</p><textarea rows="10" cols="70" name="kratkaya"></textarea>
<p>Скриншот 1</p><input type="text" name="scrin1" style="width: 500px;"/>
<p>Скриншот 2</p><input type="text" name="scrin2" style="width: 500px;"/>
<p>Скриншот 3</p><input type="text" name="scrin3" style="width: 500px;"/>
<p>Скриншот 4</p><input type="text" name="scrin4" style="width: 500px;"/>
<p>Скриншот 5</p><input type="text" name="scrin5" style="width: 500px;"/>
<p>Скриншот 6</p><input type="text" name="scrin6" style="width: 500px;"/>
<p>Полная</p><textarea rows="20" cols="70" name="polnaya"></textarea>
<p>Споллер</p><textarea rows="20" cols="65" name="spoler"></textarea>
<p>Ключевые слова</p><input type="text" name="meta_k" style="width: 300px;"/>
<p>Описание meta</p><input type="text" name="meta_d" style="width: 300px;"/>
<p><input type="submit" name="sub" value="Отправить" /></p>
</form>
PHP код:
<?
$db 
mysql_connect("localhost","povelitel","02021990");
mysql_select_db("anime",$db);

if(isset(
$_POST['zagalovok'])) {$zagalovok $_POST['zagalovok']; if(empty($zagalovok)){unset($zagalovok);}}
if(isset(
$_POST['autor'])) {$autor $_POST['autor']; if(empty($autor)){unset($autor);}}
if(isset(
$_POST['cat'])) {$cat $_POST['cat']; if(empty($cat)){unset($cat);}}
if(isset(
$_POST['image'])) {$image $_POST['image']; if(empty($image)){unset($image);}}
if(isset(
$_POST['scrin1'])) {$scrin1 $_POST['scrin1']; if(empty($scrin1)){unset($scrin1);}}
if(isset(
$_POST['scrin2'])) {$scrin2 $_POST['scrin2']; if(empty($scrin2)){unset($scrin2);}}
if(isset(
$_POST['scrin3'])) {$scrin3 $_POST['scrin3']; if(empty($scrin3)){unset($scrin3);}}
if(isset(
$_POST['scrin4'])) {$scrin4 $_POST['scrin4']; if(empty($scrin4)){unset($scrin4);}}
if(isset(
$_POST['scrin5'])) {$scrin5 $_POST['scrin5']; if(empty($scrin5)){unset($scrin5);}}
if(isset(
$_POST['scrin6'])) {$scrin6 $_POST['scrin6']; if(empty($scrin6)){unset($scrin6);}}
if(isset(
$_POST['polnaya'])) {$polnaya $_POST['polnaya']; if(empty($polnaya)){unset($polnya);}}
if(isset(
$_POST['kratkaya'])) {$kratkaya $_POST['kratkaya']; if(empty($kratkaya)){unset($kratkaya);}}
if(isset(
$_POST['spoler'])) {$spoler $_POST['spoler']; if(empty($spoler)){unset($spoler);}}
if(isset(
$_POST['meta_k'])) {$meta_k $_POST['meta_k']; if(empty($meta_k)){unset($meta_k);}}
if(isset(
$_POST['meta_d'])) {$meta_d $_POST['meta_d']; if(empty($meta_d)){unset($meta_d);}}




$zagalovok iconv('utf-8','cp1251',$zagalovok);
$rev mkdir("S:/home/anime.ru/www/files/".$zagalovok0700);
$put "S:/home/anime.ru/www/files/".$zagalovok."/"
$poniyput $put.$_FILES['image']['name']; 
move_uploaded_file($_FILES['image']['tmp_name'],$poniyput);

$files $_FILES['image']['name'];


if
(
isset(
$zagalovok
&& isset(
$cat
&& isset(
$autor
&& isset(
$files
&& isset(
$scrin1
&& isset(
$scrin2
&& isset(
$scrin3
&& isset(
$scrin4
&& isset(
$scrin5
&& isset(
$scrin6
&& isset(
$polnaya
&& isset(
$kratkaya)
&& isset(
$spoler
&& isset(
$meta_k
&& isset(
$meta_d
)
{
  
$data date('Y-n-h'); 
  
$itog mysql_query("
              INSERT INTO news (cat,nazvanie,autor,data,image,
              kratkaya,polnaya,meta_d,meta_k,
              scrin1,scrin2,scrin3,scrin4,scrin5,
              scrin6,spoler) VALUES 
              ('
$cat','$zagalovok','$autor',
              '
$data','$files','$kratkaya',
              '
$polnaya','$meta_d','$meta_k',
              '
$scrin1','$scrin2',
              '
$scrin3','$scrin4',
              '
$scrin5','$scrin6','$spoler')")or die(mysql_error());  
              
              if(
$itog == 'true'){echo "<p>Успешно отправлено</p>";} else{echo "<p>Запрос не прошол</p>";}
}
else
{
echo
"<p>Заполнены не все поля</p>";   
}
?>
Перед тем как занести информацию в бд все переменные проверяются и отправка проходит успешно, но почему-то в таблицу заноситься не вся информация а точнее нет загаловка не ясно почему так происходит, ошибок не каких нет я проверял через
PHP код:
or die(mysql_error()) 
и все впорядке.
povelitel вне форума Ответить с цитированием
Старый 19.12.2015, 00:44   #5
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Такие нефильтрованные запросы позволяют мало-мальски прошаренному школьнику удалить всю базу данных минут за 10. Гуглите "sql injection". Для простых скриптов советую использовать библиотеку https://github.com/colshrapnel/safemysql.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 19.12.2015, 01:12   #6
povelitel
Пользователь
 
Регистрация: 27.06.2012
Сообщений: 39
По умолчанию Ответ 3

Цитата:
Сообщение от Fenex Посмотреть сообщение
Такие нефильтрованные запросы позволяют мало-мальски прошаренному школьнику удалить всю базу данных минут за 10. Гуглите "sql injection". Для простых скриптов советую использовать библиотеку https://github.com/colshrapnel/safemysql.
У меня сайт не стоит на сервере он у меня стоит на денвере при чем ту взлом?
povelitel вне форума Ответить с цитированием
Старый 19.12.2015, 10:33   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

при том - что если делать - то как надо, а не как бог на душу положит. Типа: "да вы кирпичи не правильно кладете у вас дом развалится! - да я не кому то строю - а себе!.... пусть так"
делайте как хотите... в приведенном коде много ненужной чуши... но пользуйте, раз вам так хочется
про то что не передается заголовок вам уже сказали - Перед тем как записывать в БД вывод сделайте - echo $zagolovok и посмотрите что там... может понятнее станет.... еще как вариант - у вас тип в БД поля nazvanie не совпадает с тем что вы записываете
ADSoft вне форума Ответить с цитированием
Старый 19.12.2015, 16:51   #8
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
еще как вариант - у вас тип в БД поля nazvanie не совпадает с тем что вы записываете
В этом случае я думаю минимум должен быть warning. Включите вывод всех ошибок и предупреждений, это может подсказать решение проблемы.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 19.12.2015, 17:10   #9
povelitel
Пользователь
 
Регистрация: 27.06.2012
Сообщений: 39
По умолчанию Ответ 5

Да я нашел проблему проблема была в том что заголовок добавляться у меня только с англиканскими буквами и за
PHP код:
$zagalovok iconv('utf-8','cp1251',$zagalovok); 
я сейчас кирилицу поменял местами и все вроде нормально работает.
povelitel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсер С# + добавление в базу Костанта C# (си шарп) 6 20.01.2014 17:21
Скрипт с добавление в базу Валенсия34 PHP 1 04.10.2012 19:51
Добавление данных в базу Волк C# (си шарп) 0 23.05.2012 11:45
php и mysql добавление в базу Pein95 PHP 9 29.06.2011 17:39
добавление в базу Pein95 PHP 7 13.04.2011 23:47