Jump to content

rus

Expert
  • Posts

    5,943
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by rus

  1. помню раньше как-то играл с Максом, и по моему ни разу не выиграл..., но в этот раз все будет иначе Макс, берегись
  2. 1) выкладывайте код на http://jsfiddle.net/ - так будет легче помогающим 2) попробуйте этому блоку задать overflow: hidden; 3) а почему у вас большая часть css кода закомментированна?
  3. расскажу с удовольствием: 1) берете руки 2) включаете мозг 3) переписываете код с нуля
  4. для этого нужно его вам как-то подключить к индексному файлу, потому что все запросы так или иначе идут через него.
  5. может я ошибаюсь, но мне кажется проблема с созданием экземпляра класса: new PDO у меня такое было, когда создавал объект класса не на странице подключения файла через инклюд, а в самом подключаемом файле.
  6. посмотрите, почитайте как и для чего все это делается: http://labdes.ru/php-pdo-mysql-examples http://phpfaq.ru/pdo#connect http://php.net/manual/ru/pdo.connections.php погуглите вот так: https://www.google.ru/?gws_rd=ssl#newwindow=1&q=pdo+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  7. откройте исходный код и разбирайтесь на здоровье.
  8. это уже похоже из области ясновидения. я не могу сказать в чем у вас там проблема.
  9. защита от инъекций используйте - prepare а еще не пойму, зачем вы делаете COUNT(*) ?
  10. да, синтаксис другой, там ооп подход используется, но учить там совсем немного, портачить особо нечем. просто драйвер mysql морально устарел уже, и на некоторых хостингах может не использоваться.
  11. Вместо mysql используйте лучше pdo
  12. оставьте контакты.
  13. авторизация инклудится в код ниже: <?phpsession_start();if (isset($_GET['logout'])) { include ('conf.example.php'); if (isset($_SESSION['user_id'])) unset($_SESSION['user_id']); setcookie('login', '', 0, "/"); setcookie('password', '', 0, "/"); // и переносим его на главную header("Location: http://".$_SERVER['HTTP_HOST']."/"); exit();}if (isset($_SESSION['user_id'])) { // юзер уже залогинен, перекидываем его отсюда на закрытую страницу header('Location: ../index.php'); exit();}if (!empty($_POST)) { include ('conf.example.php'); $login = (isset($_POST['login'])) ? mysql_real_escape_string($_POST['login']) : ''; $query = "SELECT `salt` FROM `user` WHERE `login`='".$login."' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); // итак, вот она соль, соответствующая этому логину: $salt = $row['salt']; // теперь хешируем введенный пароль как надо и повторям шаги, которые были описаны выше: $password = md5(md5($_POST['password']) . $salt); // и пошло поехало... // делаем запрос к БД // и ищем юзера с таким логином и паролем $query = "SELECT `id` FROM `user` WHERE `login`='".$login."' AND `password`='".$password."' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); // если такой пользователь нашелся if (mysql_num_rows($sql) == 1) { // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя) $row = mysql_fetch_assoc($sql); $_SESSION['user_id'] = $row['id']; // если пользователь решил "запомнить себя" // то ставим ему в куку логин с хешем пароля $time = 86400; // ставим куку на 24 часа if (isset($_POST['remember'])) { setcookie('login', $login, time()+$time, "/"); setcookie('password', $password, time()+$time, "/"); } // и перекидываем его на закрытую страницу header('Location: ../index.php'); exit(); // не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start(); } else { echo 'Такой логин с паролем не найдены в базе данных. — <a href="http://'.$_SERVER['HTTP_HOST'].'/admin/">Авторизоваться</a>'; } }}echo "<div class=\"auth\"><form method=\"post\" action=\"http://".$_SERVER['HTTP_HOST']."/admin/login/\"><label>Логин:<input type=\"text\" name=\"login\" /></label><label>Пароль:<input type=\"password\" name=\"password\" /></label><input type=\"submit\" value=\"Авторизоваться\" /></form></div>";?>под pdo переделать не проблема. и на странице куда перекинуло после авторизации: <?php// если пользователь не авторизованif (!isset($_SESSION['id'])) { // то проверяем его куки // вдруг там есть логин и пароль к нашему скрипту if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) { // если же такие имеются // то пробуем авторизовать пользователя по этим логину и паролю $login = mysql_escape_string($_COOKIE['login']); $password = mysql_escape_string($_COOKIE['password']); // и по аналогии с авторизацией через форму: // делаем запрос к БД // и ищем юзера с таким логином и паролем $query = "SELECT `id` FROM `user` WHERE `login`='".$login."' AND `password`='".$password."' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); // если такой пользователь нашелся if (mysql_num_rows($sql) == 1) { // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя) $row = mysql_fetch_assoc($sql); $_SESSION['user_id'] = $row['id']; // не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start(); } }}if (isset($_SESSION['user_id'])) { $query = "SELECT `login` FROM `user` WHERE `id`='".$_SESSION['user_id']."' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); // если нету такой записи с пользователем // ну вдруг удалили его пока он лазил по сайту.. =) // то надо ему убить ID, установленный в сессии, чтобы он был гостем if (mysql_num_rows($sql) != 1) { header('Location: config/login.example.php?logout'); exit(); } $row = mysql_fetch_assoc($sql); $welcome = $row['login'];} else { $welcome = 'Гость';}print '<ul class="reg_user"><li><h2>Здравствуйте, ' . $welcome . '.</h2></li>';if (!isset($_SESSION['user_id'])) {include ('login.example.php');} else { print "<li><a href=\"http://".$_SERVER['HTTP_HOST']."/\">На индекс</a></li> <li><a href=\"http://".$_SERVER['HTTP_HOST']."/admin/logout/\">Выход</a></li> </ul>";}?>
  14. в этом наступающем году, в год козы, желаю всем фрилансерам - поменьше козлов, и побольше кучерявых заказов!
  15. С наступающим Новым Годом всех форумчан!
  16. на сколько я понимаю, данная ситуация может возникнуть только с классами, т.к. id - уникален. например тегам: <p> <div> и <table> вы задаете класс .test и даете какое-то общее описание: .test { width: 300px; border: 1px solid #000; } но для <p> к примеру бордер не нужен, тогда как раз будет такая запись: p.test { border: none; }
  17. rus

    Меню и DIV

    и в чем сложность: http://jsfiddle.net/rus333/6mg10vtp/2/ ?
  18. на счет абсурда: не могу что-либо с уверенностью утверждать, я лишь говорю то, что видел, читал в прессе. со мной, или с моими знакомыми - такого не было. не вся пресса освещает правду - это факт, но не факт что этого не могло бы быть. опять же повторюсь, если есть рейд - смогут все. у меня есть пример из личной жизни (то что сам видел), но это не касается темы конкретно, а касается лишь справедливости и законности в нашей стране, и именно поэтому я поверю тому что не возможно и не законно, нежели в обратное.
  19. rus

    Меню и DIV

    http://jsfiddle.net/rus333/6mg10vtp/1/ блок див wrap - вы в любом случае будете оборачивать всю эту кухню в какой-то один родительский блок.
  20. для пиратского контента думаю везде законы будут одинаковы. другое дело что многие поступают именно так - размещая контент в Германии на их серверах и в доменной зоне другой страны, просто опасаясь не справедливости нашего российского законодательства. когда идет рейд и есть все исходящие и входящие данные (любезно предоставленные провайдером) они все вам найдут и предоставят и вас об этом даже не уведомят. решение суда то зачем? достаточно вроде только ордера на обыск, не?
  21. ShumNo, есть такое понятие как лицензионное соглашение, которое в большинстве случаев описывает действия приведенные выше Нарек - передача и распространение не лицензионных копий третьим лицам, и тут не важно какое вы по счету лицо... И да, в России были случаи с судом, условным сроком и т.д. за не лицензионный софт у частного лица, в его же квартире, загуглите.
×
×
  • 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