Автор Тема: MCF - login форма  (Прочетена 31319 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re:MCF - login форма
« Отговор #45 -: 29 Май 2011, 15:51:48 »
Гоше, аз съм привърженик на естественото развитие на човека според годините.
Гледам себе си, имам знания в програмирането на 20 годишен човек, а съм на 39. Е, какво, да живея в илюзии ли ?
Ако съм имал сериозен потенциал и мотив то е трябвало да се ориентирам натам преди 20-25г, но понеже повече обичах жените от писането на цифри по онова време станах музикант  ;D
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF - login форма
« Отговор #46 -: 02 Август 2011, 21:52:19 »
Пичове, помагайте и тука. :(

« Последна редакция: 05 Август 2011, 23:53:06 от brazzerZ »

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: MCF - login форма
« Отговор #47 -: 02 Август 2011, 22:06:20 »
С какво точно да ти помогнем? Дай малко повече подробности.

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF - login форма
« Отговор #48 -: 02 Август 2011, 23:42:20 »
Вписвам вярно потребителско име и парола, а не ме логва.

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: MCF - login форма
« Отговор #49 -: 02 Август 2011, 23:54:14 »
Код: PHP
  1. <?php
  2.      if(mysql_num_rows($row)==1)
  3.          {
  4.         ...
  5.      }
  6.      elseif(mysql_num_rows($row)==1)
  7.          {
  8.         ...
  9.      }
  10.      
  11. ?>

 ???
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF - login форма
« Отговор #50 -: 03 Август 2011, 00:11:43 »
Пак не става.

« Последна редакция: 05 Август 2011, 23:52:57 от brazzerZ »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: MCF - login форма
« Отговор #51 -: 03 Август 2011, 00:48:31 »
<?php
if($_POST['form_submit']==1)
?>

<input type= "hidden"  name="form_subit"  value= "1"  />
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF - login форма
« Отговор #52 -: 03 Август 2011, 00:52:13 »
Божееее :X.

Благодаря !

brazzerZ

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 19
Re: MCF - login форма
« Отговор #53 -: 03 Август 2011, 22:25:56 »
И да попитам, как мога да запазвам сесиите?

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: MCF - login форма
« Отговор #54 -: 03 Август 2011, 23:14:02 »
Създаваш си нова таблица в базата данни. Разгледай това : http://shiflett.org/articles/storing-sessions-in-a-database

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #55 -: 13 Септември 2011, 14:32:15 »
Стигнах до тук.Но когато се логна не ми излиза името.Защо така немога да разбера ??? ето и код-
Код: PHP
  1. <?php
  2. include 'functions.php';
  3.  
  4.  
  5. if ($_POST['form_login'] == 1)
  6. {
  7.     $login=trim($_POST['login_name']);
  8.     $pass=trim($_POST['login_pass']);
  9.     if(strlen($login)>3 && strlen($pass)>3)
  10.     {
  11.         db_init();
  12.         $rs=mysql_query('SELECT * FROM users WHERE login="'.addslashes($login).'" AND "'.md5($pass).'"');
  13.         if(mysql_num_rows($rs)==1)
  14.         {
  15.             $row=mysql_fetch_array($rs);
  16.             $_SESSION['is_login']=true;
  17.             $_SESSION['user_info']=$row;
  18.             header('Location: index.php');
  19.             exit();
  20.         }
  21.         elseif(mysql_num_rows($rs)==0)
  22.         {
  23.             echo mysql_error();
  24.             echo '<h2>Грешно име или парола</h2>';
  25.         }
  26.     }
  27. }
  28.  
  29. my_header('Вход');
  30. ?>
  31. <form action="login.php" method="post">
  32.     Потребител: <input type="text" name="login_name" /><br/>
  33.     Парола:     <input type="text" name="login_pass" /><br/>
  34.     <input type="submit" value="Вход" /><br/>
  35.     <input type="hidden" name="form_login" value="1"/>
  36. </form>
  37. <?php
  38. footer();
  39. ?>
  40.  

Ето и functions

Код: PHP
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. function my_header($title) {
  4.    
  5.     session_start();
  6.    
  7.     ?>
  8.     <!DOCTYPE html>
  9.     <html>
  10.         <head>
  11.             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  12.             <title><?php echo $title; ?></title>
  13.         </head>
  14.         <body>
  15.  
  16.             <div id="topmenu">
  17.  
  18.                 <?php
  19.                
  20.                 if($_SESSION['is_logged']===true)
  21.                 {
  22.                     echo 'Здравей : <b>' .$_SESSION['user_info']['login'].'</b>';
  23.                 }
  24.                
  25.                 else
  26.                 {
  27.                     echo '<a href="register.php">Регистрирай се</a> | ';
  28.                     echo '<a href="index.php">Начало</a> | ';
  29.                     echo '<a href="login.php">Вход</a>';
  30.                 }
  31.                
  32.                 ?>
  33.             </div>
  34.                 <?php
  35.             }
  36.  
  37.             function footer()
  38.             {
  39.                 echo '</body></html>';
  40.             }
  41.            
  42.             function db_init()
  43.             {
  44.                 mysql_connect('localhost', 'root', '') or die ("Грешка с базата банни");
  45.                 mysql_select_db('mcf');
  46.             }
  47.            

И друго.Когато се логвам с паролата qwerty ми показва грешно име или парола.А когато се логна с md5 паролата от базата дани  32 цифровата ме логва ???
« Последна редакция: 13 Септември 2011, 14:37:04 от ivcho02 »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: MCF - login форма
« Отговор #56 -: 13 Септември 2011, 14:46:42 »
Не ти показва името, защото проверяваш за:
Код: PHP
  1. if($_SESSION['is_logged']===true)
при положение, че преди това си си дал:
Код: PHP
  1. $_SESSION['is_login']=true;


А това за паролата, ти фактически не се логваш нормално, ти сам се инжектираш
Код: PHP
  1. $rs=mysql_query('SELECT * FROM users WHERE login="'.addslashes($login).'" AND "'.md5($pass).'"');

Какво е равно на md5($pass)?!
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #57 -: 13 Септември 2011, 14:57:50 »
Добре ем на иван е същото .как мога да направя така че да ми се покаже неразбирам.

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: MCF - login форма
« Отговор #58 -: 13 Септември 2011, 17:07:29 »
Добре ем на иван е същото .как мога да направя така че да ми се покаже неразбирам.
Грешиш, не копирай дословно кода, мисли! Самия Иван казва, че един тъп написан код, щом работи - значи не е чак толкова тъп! Прочети кода, вникни в него и ще видиш отговора! За да ти се покаже, проверяваш дадена променлива, която предварително си ѝ поставил някаква стойност (true, 1, etc.). На 16-ти ред, при успешно логване на потребител, създаваш сесиина променлива, която се казва 'is_login' и тя приема стойност 'true'. И вече във functions.php на 20-ти ред проверяваш друга променлива 'is_logged', дали е със стойност 'true'. Е ти как мислиш, ще се покаже ли?
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #59 -: 13 Септември 2011, 20:44:43 »
Оо.Извинявай.Когато немога да направя нещо каквто трябва се ядосвам.Небива да съм такъв.Ти ми говориш нещо а аз си знам едно и също 'ем на иван ем на иван'.Извинявай  :( :(.Сега ще видя кода пак.Но нещо не разбирам.на едното е =true  а  на if е ===true.Наистина трябва да помисля. :)
« Последна редакция: 13 Септември 2011, 22:28:17 от ivcho02 »