Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не добавляет строку в базу!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Evgen8
Отправлено: 15 Сентября, 2012 - 21:11:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Что-то оно работало , но перестало Голливудская улыбка
Вообще вот скрипт JS , он реагирует на клик и вызывает обработчик PHP.Но , проблема не в нем! (вроде)...
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($){
  3.    $.start_add = function() {
  4.          var str = $("#add_key").serialize();
  5.          $.post("add_key.php", str, function(data) {
  6.                 if (data.ok_ok == "1")
  7.                 {
  8.                  $("#result").html("Произошла ошибка. Обратитесь к администратору.");
  9.                 }
  10.                 else
  11.                 {
  12.                                  var key_add = data.ok_ok;
  13.                                  var name_add = data.name;
  14.                                  $('#first').after("<tr><th>"+name_add+"</th><th>"+key_add+"</th></tr>");
  15.                                  $("#result").html("Ключ успешно добавлен.");
  16.                                  $("#name_key").val("");
  17.                                   window.setTimeout(function(){$("#result").html("")}, 4500);
  18.                 }
  19.          });    
  20.    }
  21. })(jQuery);
  22. $(document).ready(function(){
  23.   $('#name_key').keydown(function(e){
  24.         if(e.which == 13){
  25.         $.start_add();
  26.                 return false;}
  27.   });
  28. $('#add_key_but:button').click(function(){
  29.         $.start_add();
  30.   });
  31.   });
  32.  

Он вызывает этот обработчик:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $name = $_POST['name_key'];
  4. $key = base_convert(microtime(true)*10000+rand(), 10, 36);
  5. $key = md5($key);
  6. $id = $_SESSION['user_id'];
  7. if(@$connect = mysql_connect(localhost, kela_4, 25176542)){
  8. $query = "INSERT INTO `panel`(`id`, `name`, `key`) VALUES ('{$id}', '{$name}', '{$key}')";
  9. $sql =  mysql_query($query);
  10. $data = array('ok_ok' => $key, 'name' => $name;
  11.                 header('Content-type: application/json');
  12.         echo  json_encode($data);}
  13. else{
  14. $data = array('ok_ok' => "1");
  15. header('Content-type: application/json');
  16.         echo  json_encode($data);}
  17. ?>
  18.  

Но , он что-то не пашет. JS добавляет в таблицу пустые значения. Почти такой же код используется для удаления , он пашет Не понял Этот нет. Голову уже несколько раз сломал.
 
 Top
Avrelio
Отправлено: 16 Сентября, 2012 - 06:12:20
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)

[+][+]


ну не знаю попробуй

var data = jQuery.parseJSON(data);
 
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 11:05:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Avrelio пишет:
ну не знаю попробуй

var data = jQuery.parseJSON(data);

Нее..Дело в коде PhP. Он даже в базу не добавляет.
 
 Top
imya
Отправлено: 16 Сентября, 2012 - 11:15:57
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




Не знаю конечно, но попробуй убрать косые кавычки в запросе ``, мне это в INSERT-е помогло


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 11:25:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




imya пишет:
Не знаю конечно, но попробуй убрать косые кавычки в запросе ``, мне это в INSERT-е помогло

Нет , не помогло...
 
 Top
Green
Отправлено: 16 Сентября, 2012 - 14:43:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




Ну так выведите на экран переменные $id, $name, $key. Посмотрите что они в себе содержат. Также выведите на экран переменную с запросом $query. И посмотрите, какой запрос образуется.

P.S В Вашем коде куча Notice...
(Добавление)
imya, это апострофы, которыми обрамляют имена таблиц и ячеек, чтобы не было ошибки в случае если имя таблицы или ячейки совпадает с какой-нибудь командой MySQL.
(Добавление)
Evgen8 пишет:
Он даже в базу не добавляет.

Ну... Вы уже определитесь, в записи вообще не добавляются? Или добавляются, но пустые?
Если не добавляются вообще, то:
Evgen8 пишет:
$sql =  mysql_query($query);

Замените на:

Если в запросе ошибка, её описание появится на экране, а работа скрипта будет прекращена.

А ещё лучше на:

Тут нет смысла присваивать результат работы функции переменной, ибо в коде она вообще не используется. Так зачем её создавать тогда?

(Отредактировано автором: 16 Сентября, 2012 - 14:53:30)

 
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 15:37:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Green , да , ошибок было много. Да еще и дебильных Хм
Пропустил одну скобку и не экранировал кавычки...Из-за мелочи весь скрипт не пахал Нахмурился
 
 Top
imya
Отправлено: 16 Сентября, 2012 - 16:42:46
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




Green пишет:

imya, это апострофы, которыми обрамляют имена таблиц и ячеек, чтобы не было ошибки в случае если имя таблицы или ячейки совпадает с какой-нибудь командой MySQL.

А додумывались до такого?


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 17:53:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Еще один вопрос....Как убрать сообщение с экрана в случаи ошибки подключения? Все вроде убрал , а это не слезает Хорошо
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Access denied for user 'lighy'@'localhost' (using password: NO)
  3.  
 
 Top
green_man
Отправлено: 16 Сентября, 2012 - 18:09:42
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Июль 2012  


Помог: 6 раз(а)




Воспользуйся @
 
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 18:12:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




green_man пишет:
Воспользуйся @

Воспользовался везде! Но , эта ошибка не уходит....
 
 Top
DelphinPRO
Отправлено: 16 Сентября, 2012 - 18:21:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




green_man пишет:
Воспользуйся @

Самый идиотский совет

ошибки нужно не подавлять, а отлавливать и обрабатывать.

но если уж решили, то собку ставить нужно перед названием функции

PHP:
скопировать код в буфер обмена
  1. if($connect = @mysql_connect(localhost, kela_4, 25176542)){


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Green
Отправлено: 16 Сентября, 2012 - 18:53:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Апр. 2012  
Откуда: Кисловодск


Помог: 9 раз(а)




imya, вопроса не понял.
Evgen8, лучше не используйте подавление ошибок. Мало того что замедляет работу скрипта, так еще мешает отладки скриптов ведь.
 
 Top
Evgen8
Отправлено: 16 Сентября, 2012 - 19:30:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Да вы все не поняли Хм
Мне надо , чтобы в случаи сбоя со стороны БД ,сайт - не заполнился ошибками....Я сам их вызвал. Мне надо их убрать со стороны внешнего вида.

(Отредактировано автором: 16 Сентября, 2012 - 19:32:18)

 
 Top
DelphinPRO
Отправлено: 16 Сентября, 2012 - 19:43:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Evgen8 пишет:
Мне надо , чтобы в случаи сбоя со стороны БД ,сайт - не заполнился ошибками....Я сам их вызвал. Мне надо их убрать со стороны внешнего вида.


посоветовал бы я вам PDO + Exceptions, только стоит ли советовать...


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB