PHP.SU

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

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

> Найдено сообщений: 33
Sveta Отправлено: 07 Декабря, 2011 - 11:35:39 • Тема: Авторизация • Форум: Вопросы новичков

Ответов: 11
Просмотров: 495
Я сессии не использовала, но делала так и у меня работает.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Страница авторизации
  4.  
  5. # Функция для генерации случайной строки
  6. function generateCode($length=6) {
  7.     $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
  8.     $code = "";
  9.     $clen = strlen($chars) - 1;  
  10.     while (strlen($code) < $length) {
  11.             $code .= $chars[mt_rand(0,$clen)];  
  12.     }
  13.     return $code;
  14. }
  15.  
  16.  
  17. # Соединямся с БД
  18. include_once ("O:/home/localhost/www/db/www/podkluchenie.php");
  19.  
  20. if(isset($_POST['submit']))
  21. {
  22.     # Вытаскиваем из БД запись, у которой логин равняеться введенному
  23.    $query = mysql_query("SELECT `users`.`id_u`, `users`.`password` FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
  24.     $data = mysql_fetch_assoc($query);
  25.    
  26.     # Сравниваем пароли
  27.    if($data['password'] === md5(md5($_POST['password'])))
  28.     {
  29.         # Генерируем случайное число и шифруем его
  30.        $hash = md5(generateCode(10));
  31.            
  32.         if(!@$_POST['not_attach_ip'])
  33.         {
  34.             # Если пользователя выбрал привязку к IP
  35.            # Переводим IP в строку
  36.            $insip = ", ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
  37.         }
  38.        
  39.         # Записываем в БД новый хеш авторизации и IP
  40.        mysql_query("UPDATE users SET hash='".$hash."' ".$insip." WHERE id_u='".$data['id_u']."'");
  41.        
  42.         # Ставим куки
  43.        setcookie("id", $data['id_u'], time()+60*60*24*30);
  44.         setcookie("hash", $hash, time()+60*60*24*30);
  45.        
  46.         # Переадресовываем браузер на страницу проверки нашего скрипта
  47.        header("Location: [страница куда надо перейти после авторизации].php"); exit();
  48.     }
  49.     else
  50.     {
  51.         print "Вы ввели неправильный логин/пароль";
  52.     }
  53. }
  54. ?>
  55.  
  56. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  57. <html>
  58.  <head>
  59.   <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  60.  </head>
  61.  <body>
  62.  
  63. <form method="POST">
  64. Логин</td>
  65. <td><input name="login" type="text"><br></td></tr>
  66. <tr><td> Пароль</td> <td> <input name="password" type="password"><br></td></tr>
  67. <tr><td>Не прикреплять к IP (не безопасно)</td> <td> <input type="checkbox" name="not_attach_ip"><br></td><tr>
  68. <tr><td width="140 px"><input name="submit" type="submit" value="Войти">
  69. </form></td></tr></table>
  70.  </body>
  71. </html>
  72.  

для этого нужна таблица в бд с пользователями (у меня таблица users), в которой есть поля id,login,password,hash,ip.
А на странице, на которую ты переходишь, должна быть проверка
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Скрипт проверки
  4.  
  5. # Соединямся с БД
  6.  
  7.  
  8. if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
  9. {  
  10.     $query = mysql_query("SELECT *,INET_NTOA(ip) AS ip FROM users WHERE id_u = '".intval($_COOKIE['id'])."' LIMIT 1");
  11.     $userdata = mysql_fetch_assoc($query);
  12.  
  13.     if(($userdata['hash'] !== $_COOKIE['hash']) or ($userdata['id_u'] !== $_COOKIE['id'])
  14.  or (($userdata['ip'] !== $_SERVER['REMOTE_ADDR'])  and ($userdata['ip'] !== "0")))
  15.     {
  16.         setcookie("id", "", time() - 3600*24*30*12, "/");
  17.         setcookie("hash", "", time() - 3600*24*30*12, "/");
  18.         print "Хм, что-то не получилось";
  19.     }
  20.     else
  21.     {
  22.         print "Привет, ".$userdata['login'].". Всё работает!";
  23.     }
  24. }
  25. else
  26. {
  27.     print "Включите куки";
  28. }
  29. ?>
  30.  
  31.  

Естественно у тебя должны быть свои названия полей
Sveta Отправлено: 03 Декабря, 2011 - 19:23:57 • Тема: очистка полей ввода • Форум: Вопросы новичков

Ответов: 6
Просмотров: 222
я уже попробовала. у меня есть хром, опера и мазила autocomplete="off" работает у меня только в опере.
Sveta Отправлено: 03 Декабря, 2011 - 19:17:13 • Тема: очистка полей ввода • Форум: Вопросы новичков

Ответов: 6
Просмотров: 222
у меня браузер хром. Но надо же что бы в любом браузере работало.
Sveta Отправлено: 03 Декабря, 2011 - 17:24:11 • Тема: очистка полей ввода • Форум: Вопросы новичков

Ответов: 6
Просмотров: 222
Привет всем. На странице входа в личный кабинет форма, в которой есть поля ввода для логина и пароля и кнопка. Так когда я хочу ввести логин, щелкаю на поле и мне выдает все что я когда либо туда вводила. как от этого избавиться.
Sveta Отправлено: 28 Ноября, 2011 - 13:11:01 • Тема: обновление страницы • Форум: Вопросы новичков

Ответов: 3
Просмотров: 167
target создает новое окно, а не обновляет
Sveta Отправлено: 28 Ноября, 2011 - 12:37:35 • Тема: обновление страницы • Форум: Вопросы новичков

Ответов: 3
Просмотров: 167
Привет.
Есть 2 окна. Возможно ли при нажатии кнопки во втором окне обновлялось первое?
Sveta Отправлено: 26 Октября, 2011 - 15:18:15 • Тема: изменение записи • Форум: Вопросы новичков

Ответов: 3
Просмотров: 123
Запятая лишняя. Запрос не делает ничего, ничего не меняется.
Sveta Отправлено: 26 Октября, 2011 - 15:08:07 • Тема: изменение записи • Форум: Вопросы новичков

Ответов: 3
Просмотров: 123
мне нужно изменить запись в таблице, но мой скрипт этого не делает. Что не так?
файл izmtipa.php
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3.  <head>
  4.   <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  5.   <title>Административное приложение</title>
  6.   </head>
  7.  <body>
  8. <?PHP
  9. include_once ("C:/apache/localhost/www/podkluchenie.php");
  10.  $id = (int)$_GET['id_tt'];    
  11. $query = "
  12. SELECT  `img_tipy`.`id_itt` ,
  13.         `tipy`.`id_tt`,
  14.         `tipy`.`name_tipa`,
  15.         `tipy`.`img_tipa`
  16. FROM tipy
  17. INNER JOIN img_tipy
  18. ON `img_tipy`.`id_itt` = `tipy`.`img_tipa`
  19. WHERE `tipy`.`id_tt` = ".$id;  ;
  20.  
  21. if (!$result = mysql_query($query, $link))
  22. {
  23.     echo "<br>Не могу выполнить запрос<br>";
  24.     exit();
  25. }
  26.  
  27. echo "<table>";
  28. // вывод результата запроса
  29. while ($mas = mysql_fetch_row($result))
  30. {foreach ($mas as $field);
  31. echo "<tr><td><img src='imgtipy.php?id_itt=".$mas[3]." alt='' /> </td>
  32.          <td>
  33.              <table>
  34.                     <tr>
  35.                         <td>"
  36.                          , $mas[2],
  37.                          "</td></tr>
  38.              </table>
  39.          </td>
  40.       </tr>";
  41. }
  42. echo "</table>";
  43.  
  44.  
  45.  echo "          
  46. <form enctype='multipart/form-data' method='post' action='izmtipy1.php?id_tt=".$mas[1]."'>
  47. <p>Новое название типа товара: <input type='text' name='name1'>
  48. <p>Изображение: <input type='file' name='image' />
  49. <p><input type='submit' value='Загрузить' />
  50. </form>";
  51. ?>
  52.  </body>
  53. </html>

файл izmtipa1.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once ("C:/apache/localhost/www/podkluchenie.php");
  3.  $id = (int)$_GET['id_tt'];
  4. $izm = "  UPDATE `volshebnyi`.`tipy` SET `name_tipa` = '".mysql_real_escape_string($_POST['name1'])."', WHERE `tipy`.`id_tt` =".$id;  
  5. if (!$result = mysql_query($izm, $link))
  6. {
  7.     echo "<br>Не могу выполнить запрос<br>";
  8.     exit();
  9. } else {echo "Тип успешно изменен";}
  10.  
  11.  
  12. ?>

заранее спасибо
Sveta Отправлено: 24 Октября, 2011 - 15:37:41 • Тема: Добавление записи • Форум: Работа с СУБД

Ответов: 1
Просмотров: 621
Я снова к Вам обращаюсь, потому что вопросов много, а толково отвечаете только Вы.
Ситуация такая. Есть 2 таблицы "товары" и "производители". Таблица товары имеет поля: id, name,proizvoditel,opisanie,cena. А в таблице "производители" - id, firma, strana. Эти таблицы связаны один ко многим, для поля "товары".proizvoditel данные берутся из таблицы "производители". Как мне добавить запись в таблицу "товары", чтобы была возможность выбрать производителя? Желательно на примере. Заранее спасибо.
Sveta Отправлено: 24 Октября, 2011 - 15:03:13 • Тема: добавить изображение в базу • Форум: Вопросы новичков

Ответов: 5
Просмотров: 188
Спасибо, получилось)
Sveta Отправлено: 24 Октября, 2011 - 14:00:55 • Тема: добавить изображение в базу • Форум: Вопросы новичков

Ответов: 5
Просмотров: 188
а можно код показать?
Sveta Отправлено: 24 Октября, 2011 - 13:53:59 • Тема: добавить изображение в базу • Форум: Вопросы новичков

Ответов: 5
Просмотров: 188
как осуществить добавление изображения в базу? Заранее спасибо за ответ
Sveta Отправлено: 21 Октября, 2011 - 22:05:23 • Тема: Подключение к бд • Форум: Вопросы новичков

Ответов: 3
Просмотров: 204
Пляшу от радости блин, точно!!!! Спасибо
Sveta Отправлено: 21 Октября, 2011 - 21:54:57 • Тема: Подключение к бд • Форум: Вопросы новичков

Ответов: 3
Просмотров: 204
Я хотела строки подключения к бд вынести в отдельный файл и обращаться к нему из других файлов, но файл не читается и соответственно ничего не работает. Подскажите как сделать правильно?
Sveta Отправлено: 03 Июня, 2011 - 22:10:38 • Тема: Интернет-магазин • Форум: HTTP и PHP

Ответов: 24
Просмотров: 5519
хорошо что без оформления, осталась только суть. Спасибо тебе. Ты своим примером мне еще одну проблему решил. Радость ты молодец!
(Добавление)
Только ты заходи хотя бы иногда в тему. У меня могут возникнуть вопросы по коду JS

Страниц (3): [1] 2 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB