EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

В БД записывается 0

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
В БД записывается 0
Автор Сообщение
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 07:35    Заголовок сообщения: В БД записывается 0 Ответить с цитатой

При перезагрузки страници в БД всё время добовляется НИЧЕГО
Хотя должно не добовляться а добовляться если только данные переданы.
Почему добовляеться?

Код:
   $addcommentstextnn = $_GET['commetform'];
   $addcommentstextn = strip_tags($addcommentstextnn);
   $addcommentstext = htmlspecialchars($addcommentstextn);
   $addcommentsnamenn = $_GET['commentname'];
   $addcommentsnamen = strip_tags($addcommentsnamenn);
   $addcommentsname = htmlspecialchars($addcommentsnamen);
   $addcommentsidnn = $_GET['addcommetid'];
   $addcommentsidn = strip_tags($addcommentsidnn);
   $addcommentsid = htmlspecialchars($addcommentsidn);
   if ((!isset($addcommentsname)) && (!isset($addcommentstext)) && (!isset($addcommentstext)))
      {
      }
   else
      {
      mysql_query("INSERT INTO `".$pref."comment` (`article`, `name`, `date`, `content`, `id`) VALUES ('$addcommentsid', '$addcommentsname', '$dateful', '$addcommentstext', NULL)", $linkmain);
      }

_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 3840

111220 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 08:04    Заголовок сообщения: Ответить с цитатой

попробуйте
mysql_query(блалабла) or echo mysql_error();
_________________
сервис DNS | разные http, DNS и прочие утилиты
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 09:08    Заголовок сообщения: Ответить с цитатой

lazutov
Вы не так поняли ели данные ввести то всё записывается нормально но если их нет записываться недолжно.
Не должно исполняться.
Код:
mysql_query("INSERT INTO `".$pref."comment` (`article`, `name`, `date`, `content`, `id`) VALUES ('$addcommentsid', '$addcommentsname', '$dateful', '$addcommentstext', NULL)", $linkmain);


Но всё равно испоняеться
_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Александр Михалицын
Согнул ложку
Согнул ложку


Зарегистрирован: 22.08.2008
Сообщения: 860

18841 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 09:21    Заголовок сообщения: Ответить с цитатой

uforum,
у вас нарушена логика. Сек.. сейчас перепишу.
_________________
Пригласительные коды
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Александр Михалицын
Согнул ложку
Согнул ложку


Зарегистрирован: 22.08.2008
Сообщения: 860

18841 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 09:23    Заголовок сообщения: Ответить с цитатой

Код:
$addcommentstextnn = $_GET['commetform'];
$addcommentstextn = strip_tags($addcommentstextnn);
$addcommentstext = htmlspecialchars($addcommentstextn);
$addcommentsnamenn = $_GET['commentname'];
$addcommentsnamen = strip_tags($addcommentsnamenn);
$addcommentsname = htmlspecialchars($addcommentsnamen);
$addcommentsidnn = $_GET['addcommetid'];
$addcommentsidn = strip_tags($addcommentsidnn);
$addcommentsid = htmlspecialchars($addcommentsidn);
if (isset($addcommentsname) && isset($addcommentstext) && isset($addcommentstext))
{
   mysql_query("INSERT INTO `".$pref."comment` (`article`, `name`, `date`, `content`, `id`) VALUES ('$addcommentsid', '$addcommentsname', '$dateful', '$addcommentstext', NULL)", $linkmain);
}

_________________
Пригласительные коды
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2066
Откуда: Самара
11733 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 11:00    Заголовок сообщения: Ответить с цитатой

Я бы переписал код так
Код:
$addcommentstextnn = $_GET['commetform'];
$addcommentsnamenn = $_GET['commentname'];
$addcommentsidnn = $_GET['addcommetid'];

if ((strlen($addcommentstextnn)>0) && (strlen($addcommentsnamenn)>0) && (strlen($addcommentsidnn)>0))
{
$addcommentstextn = strip_tags($addcommentstextnn);
$addcommentstext = htmlspecialchars($addcommentstextn);
$addcommentsnamen = strip_tags($addcommentsnamenn);
$addcommentsname = htmlspecialchars($addcommentsnamen);
$addcommentsidn = strip_tags($addcommentsidnn);
$addcommentsid = htmlspecialchars($addcommentsidn);
   mysql_query("INSERT INTO `".$pref."comment` (`article`, `name`, `date`, `content`, `id`) VALUES ('$addcommentsid', '$addcommentsname', '$dateful', '$addcommentstext', NULL)", $linkmain);
}


P.S. Насколько я помню isset определяет существует ли данная переменная, вы же переменные определяете, присваиваете им пустые значения, т.е. переменные существуют и содержат пустую строку и isset вернет true, ИМХО.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Александр Михалицын
Согнул ложку
Согнул ложку


Зарегистрирован: 22.08.2008
Сообщения: 860

18841 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 11:23    Заголовок сообщения: Ответить с цитатой

Веденин,
именно.
Сорри, не внимательно. Embarassed
_________________
Пригласительные коды
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 11:39    Заголовок сообщения: Ответить с цитатой

Веденин
Спасибо!
_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Gosudar
Два пингвина
Два пингвина


Зарегистрирован: 08.04.2007
Сообщения: 431

8014 Монеты

СообщениеДобавлено: Вс, 16 Ноя, 2008 16:07    Заголовок сообщения: Ответить с цитатой

Код:
strlen($addcommentstextnn)>0


а может лучше
Код:
empty ($addcommentstextnn)


и т.д. ...
_________________
R3-born
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2066
Откуда: Самара
11733 Монеты

СообщениеДобавлено: Пн, 17 Ноя, 2008 04:21    Заголовок сообщения: Ответить с цитатой

может и лучше, хотя на самом деле, если переменые не определенны !empty(...) и strlen(...)>0 будут работать одинаково, по-моему разница будет только при работе с пустой строкой содержащей проблелы, в этом случае !empty(...) эквивалентно strlen(trim(...))>0

P.S. Если есть желание испоьзовать isset его надо использовать с GET[...], т.е. так:
Код:
if (isset($_GET['commetform']) && isset($_GET['commentname']) && isset($_GET['addcommetid']))

хотя в этом случае если по каким то причинам строка будет с пустыми параметрами, например так ?commetform=&commentname=&addcommetid , то все равно придется делать проверку strlen(...)>0
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Gosudar
Два пингвина
Два пингвина


Зарегистрирован: 08.04.2007
Сообщения: 431

8014 Монеты

СообщениеДобавлено: Пн, 17 Ноя, 2008 07:09    Заголовок сообщения: Ответить с цитатой

я имел в виду, что empty выполняется быстрее, не намного, но быстрее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2066
Откуда: Самара
11733 Монеты

СообщениеДобавлено: Вт, 18 Ноя, 2008 04:36    Заголовок сообщения: Ответить с цитатой

Gosudar писал(а):
я имел в виду, что empty выполняется быстрее, не намного, но быстрее.


По моему это экономия на спичках, сколько заменой всех strlen на empty в коде можно выиграть, 0.001 секунду?
По сравнению с простейшим запросом к БД или внешним соединением это не существенно.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Gosudar
Два пингвина
Два пингвина


Зарегистрирован: 08.04.2007
Сообщения: 431

8014 Монеты

СообщениеДобавлено: Вт, 18 Ноя, 2008 17:18    Заголовок сообщения: Ответить с цитатой

Понимаешь, понемногу, по чуть-чуть, и растягивается морока ....
Может лучше сразу писать более аккуратно что-ли . Ну не знаю просто потом оптимизировать намного хуже и сложнее.
_________________
R3-born
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2066
Откуда: Самара
11733 Монеты

СообщениеДобавлено: Вт, 18 Ноя, 2008 17:48    Заголовок сообщения: Ответить с цитатой

Gosudar писал(а):
Понимаешь, понемногу, по чуть-чуть, и растягивается морока ....

За 6 лет профессионального программирования я усвоил, что лучше писать как удобнее, чем экономить на мелочах, лучше оптимизировать один sql запрос, чем сотни мелких команд.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Вт, 18 Ноя, 2008 17:57    Заголовок сообщения: Ответить с цитатой

Веденин
лучше оптимизировать все.
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET