Jump to content

Kompilator

User
  • Posts

    214
  • Joined

  • Last visited

Everything posted by Kompilator

  1. Ну это не ко мне вопрос =). Спасибо.
  2. Именно из этого примера я и сделал свой код удалив комментарии и ИФы.
  3. Нет, ради интереса сделайте страничку и попробуйте. Сама инструкция пишется bind_param , а не bindparam, пропущено нижнее подчёркивание. И первым аргументом обязательно указывать тип переменной: i,b,d или s. А вот этот код работает: $mysqli = new mysqli('localhost', 'u1084818_bikel', '***', 'u1084818_bikel'); if ($mysqli->connect_errno) {exit('Error connect: ' . $mysqli->connect_error);} $stmt = $mysqli->prepare('insert into comment(id) value (?)'); $i = 88; $stmt->bind_param('i', $i); $stmt->execute(); $stmt->close();
  4. C записью разобрался, сижу с 9-ти утра и всё из-за того, что в сети полно некорректных примеров, в том числе и в предыдущем сообщении. Кстати этот пример дали в этом сообщении - http://htmlforum.ru/index.php?showtopic=53757&p=360941 , ссылка ведёт на с виду уважаемый ресурс http://php.net, на котором опубликован нерабочий пример, который в свою очередь отнял у меня пол дня времени.
  5. Понимаю, что это смешно, но третий час бьюсь и не могу вставить в таблицу два значения. Уже отпала охота переходить на mysqli и оставаться на mysql. Перепробовал кучу примеров из интернета, ни одни не пишет ничего в базу. Вот два из них: <?php $mysqli = new mysqli('localhost', 'u1084818_bikel', '***', 'u1084818_bikel'); if (mysqli_connect_errno()) { printf("Подключение невозможно: %s\n", mysqli_connect_error()); exit(); } else {} //$stmt = $mysqli->prepare("INSERT INTO comment (id, userid) VALUES (?,?,)") or die($this->db->error); //$stmt->bind_param('ss', $code, $language); //$code = '1'; //$language = '2'; //$stmt->execute(); $stmt = $dbh->prepare("INSERT INTO comment (id, userid) VALUES (:name, :value)"); $stmt->bindParam(':name', $name); $stmt->bindParam(':value', $value); $name = 'one'; $value = 1; $stmt->execute(); $stmt->close(); $mysqli->close(); ?> На листинге 2 обращения, 1-закомментировано, 2-е нет, ни одно не работает. — Может быть что бы заработал этот код, надо доустановить какие нибудь модули ?
  6. Почитал инфу и решил делать таки подготовленными выражениями. И как водится, сразу, прямо в первой строчке ошибка - Access denied for user 'u1084818'@'localhost' (using password: YES) $mysqli = new mysqli('localhost', 'u1084818', '***', '***'); Скопировал строку соединения с базой данных, вставил к себе. Подставил свои значения пароля, имени базы и юзера (юзера в MySQL не было, может в нем проблема), локалхост не знаю что такое, но видимо без изменения везде. Значения скопировал из работающего соединения. — Кто ж знал, что название базы, это и есть имя юзера. Вроде соединился. Теперь не могу записать 1 байт в таблицу, в примерах везде разный синтаксис, и так и сяк пробую, никак пока.
  7. Скорее всего. Напомните, вроде Вы писали какую то инструкцию, через которую надо прогонять текст, что бы с кодировкой не было проблем. — И вот ещё. Если пытаюсь в комментарии поставить знак одинарной кавычки - ', база ругается - "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '15.09.05')' at line 1". upd: с этим разобрался экранированием спец симфолов - mysql_escape_string — А если все переменные пришедшие через GET прогнать сквозь - mysql_escape_string ? безопасность такая как в SafeMySQL не достигнется ?
  8. Воспользовавшись SafeMySQL можно будет убрать проверку на допустимость вводимых символов ? например в связке 'логин - пароль', а то регулярное выражение /^[a-zA-Zа-яА-ЯёЁ0-9_-]{3,16}$/ толком не работает.
  9. Спасибо. Скажите, почему советуете именно SafeMySQL, а не подготовленные запросы ?
  10. Что-то после 15 часов писания уже туплю. Мне надо сделать как в коде ниже, при помощи подготовленных запросов и проблем не будет ? <?php$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");$stmt->bindParam(':name', $name);$stmt->bindParam(':value', $value);// вставим одну строку$name = 'one';$value = 1;$stmt->execute();// теперь другую строку с другими значениями$name = 'two';$value = 2;$stmt->execute();?>
  11. Значит может другой навредить. Как избежать такого вреда ? — Попробовал - /^[a-zA-Zа-яА-ЯёЁ0-9_-]{3,16}$/ , с исправлением вообще не проходят русские буквы.
  12. А что, можно вот таким образом удалить у меня базу данных ? В самом начале пробовал, что-то не сросталось, попробую ещё раз.
  13. Вижу, кто-то создал логин - "-- DROP database". В регулярном выражении пробелы же не разрешены - /[a-zA-Zа-яА-ЯёЁ0-9_-]{3,16}/ Одна головная боль с ними ((((((((((((((((
  14. Попробуйте кто нибудь пожалуйста зарегистрироваться, потом войти в учетку и выйти из неё, если не трудно. http://велосвет.рф/compare.html?idright=32&idleft=32&navmenur=Kompilatorright&navmenul=Kompilatorleft&resimg=3&stat=&scrtop=450 Как оно, работает на ваш взгляд нормально ? Спасибо.
  15. /^[а-яА-ЯёЁ0-9_-]{3,16}$/Не работают русские буквы в регулярном выражении. если заменить а-яА-Я (пробовал а-яА-ЯёЁ) на a-zA-Z, то латиница работает. — Достиг - /[a-zA-Zа-яА-ЯёЁ0-9_-]{3,16}/ , так работоспособность настала. Прямо ужас какойто, не могли этот ПХП попроще написать, например пишешь строку - проверка корректности логина как и у всех, ан раз и готово.
  16. Спасибо, Вы спасли комментарии на моём сайте. Работает.
  17. Задача создать учетную запись в базе, логин и пароль. В адресной строке GET передаёт свою инфу, т.е. "login=test#test", знак # там есть, но уже в ПХП, всё что после него, не работает. Код: echo $_GET['loginreg'];выведет только - test, всё что после # теряется.
  18. Решил сделать регулярными выражениями. Начал играться разными символами и обнаружил, что - # вообще не передаётся методом GET, и всё что после него было в переменной, пропадает. Как же тогда быть, если для проверки в PHP строку даже нельзя полностью передать в случае присутствия там - # ? — Обнаружилось что и - &, + тоже не передаются. Как же быть ? Отказываться от создания комментариев значит придётся ((((( а уже столько написано для них, очень жаль.
  19. Спасибо. Верно ли я понял, что функции - mysql_real_escape_string, мне будет достаточно ?
  20. Cпасибо. Посоветуйте, нужен ли какой нибудь фильтр символов вводимых пользователем при регистрации ? На многих сайтах говорится о допустимых символах, почему ? Я пытался вводить в свою форму типа - "№;%::??*((?&^%$#@", всё проходит, ПХП ошибок не даёт. Зачем спрашивается требуют такое ?
  21. Об Ява скрипте

  22. Моё почтение в очередной, далеко, очень далеко не в последний раз. Начинаю делать комменты в сервисе сравнения фар. Как эффективнее всего бороться с длинной, неразрывной (безпробельной) строкой ? Кто нибудь обязательно такую напишет и будет она у меня торчать за пределы всех дивов, и даже, не побоюсь этого слова - самой границы экрана.
  23. В общем, надо учить мат.часть. Вынес эту функцию в отдельный блок <script>...</script> и она перестала вносить помехи в работу других.
  24. Как я понимаю, при загрузке страницы должен сработать скрипт позиционирования прокрутки. Я строку - window.scrollTo(0,<?php echo $_GET['scrtop'];?>); вставил в функцию, которая выполняется сразу после загрузки. startList = function allclose() { window.scrollTo(0,<?php echo $_GET['scrtop'];?>); for (i=0; i < id_menu.length; i++){ document.getElementById(id_menu[i]).style.display = "none"; if ((id_menu[i]) == "<?php echo $navmenul;?>") { document.getElementById(id_menu[i]).style.display = "block"; } if ((id_menu[i]) == "<?php echo $navmenur;?>") { document.getElementById(id_menu[i]).style.display = "block"; } } }window.onload=startList;Эта функция закрывает все открытые пункты меню, но после вставки, функция закрытия перестаёт работать. Подскажите куда строку скролла вставить, что бы не мешала работе function allclose() ?
  25. Воистину Вы умнейший из мудрецов ! Спасибо, всё теперь работает. Теперь при выборе различных моделей/размера картинки, после перезагрузки, страница не прыгает в начало. Создаётся иллюзия, будто она не перезагружается, а изменения происходят в текущей.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy