EOMY.NET Хостинг EOMY.NET: Форум поддержки
В БД записывается 0
Автор
Сообщение
Артур 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
Вернуться к началу
lazutov while (1==1); Зарегистрирован: 30.04.2007 Сообщения: 3840 111220
Вернуться к началу
Артур 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
Вернуться к началу
Александр Михалицын Согнул ложку Зарегистрирован: 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, ИМХО. _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
Тематические поисковые системы Рунета : Танцевальная , программиста , поиск книг
Вернуться к началу
Александр Михалицын Согнул ложку Зарегистрирован: 22.08.2008 Сообщения: 860 18841
Добавлено: Вс, 16 Ноя, 2008 11:23 Заголовок сообщения:
Веденин ,
именно.
Сорри, не внимательно. _________________Пригласительные коды
Вернуться к началу
Артур 11 1110 1000 Зарегистрирован: 22.01.2008 Сообщения: 1159 Откуда: Lietuva 7191
Добавлено: Вс, 16 Ноя, 2008 11:39 Заголовок сообщения:
Веденин
Спасибо! _________________Скрипты [PHP/JS] на заказ, в ЛС, недорого.
SAPE
Вернуться к началу
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 _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
Тематические поисковые системы Рунета : Танцевальная , программиста , поиск книг
Вернуться к началу
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 секунду?
По сравнению с простейшим запросом к БД или внешним соединением это не существенно. _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
Тематические поисковые системы Рунета : Танцевальная , программиста , поиск книг
Вернуться к началу
Gosudar Два пингвина Зарегистрирован: 08.04.2007 Сообщения: 431 8014
Добавлено: Вт, 18 Ноя, 2008 17:18 Заголовок сообщения:
Понимаешь, понемногу, по чуть-чуть, и растягивается морока ....
Может лучше сразу писать более аккуратно что-ли . Ну не знаю просто потом оптимизировать намного хуже и сложнее. _________________R3-born
Вернуться к началу
Веденин Красные глаза Зарегистрирован: 17.05.2007 Сообщения: 2066 Откуда: Самара 11733
Добавлено: Вт, 18 Ноя, 2008 17:48 Заголовок сообщения:
Gosudar писал(а): Понимаешь, понемногу, по чуть-чуть, и растягивается морока ....
За 6 лет профессионального программирования я усвоил, что лучше писать как удобнее, чем экономить на мелочах, лучше оптимизировать один sql запрос, чем сотни мелких команд. _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
Тематические поисковые системы Рунета : Танцевальная , программиста , поиск книг
Вернуться к началу
[LP]LordPro.teus Призрак Лорда Зарегистрирован: 26.07.2007 Сообщения: 5092 42282
Добавлено: Вт, 18 Ноя, 2008 17:57 Заголовок сообщения:
Веденин
лучше оптимизировать все . _________________
До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь !
Вернуться к началу
Powered by phpBB © 2001, 2005 phpBB Group