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

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

gatakka

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 19
  • Публикации: 681
MCF - login форма
« -: 11 Февруари 2010, 00:33:53 »
** Тази тема дискутира:: MCF - login форма **
Автор: Гатака
« Последна редакция: 14 Април 2015, 23:38:13 от Avalanche »
За да знаеш трябва да питаш,
но за да знаеш някой трябва да ти отговори на питанията.
Добре дошли в Научи Ме!

logicbg

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Отг:MCF - login форма
« Отговор #1 -: 10 Април 2010, 22:13:59 »
Защо при мен се показва менюто? :(
Код: PHP
  1. <?php
  2. include  ' ./inc/functions.php ' ;
  3. if($_POST[ ' form_login ' ]==1)
  4.     {
  5.     $user_name=trim($_POST[ ' user_name ' ]);
  6.     $user_pass=trim($_POST[ ' user_pass ' ]);
  7.     if(strlen($user_name)>3 && strlen($user_pass)>3)
  8.         {
  9.         db_init();
  10.         $rs=mysql_query( ' SELECT * FROM users WHERE user_name= "  ' .addslashes($user_name). '  "  AND user_pass= "  ' .md5($user_pass). '  "  ' );
  11.         if(mysql_num_rows($rs)==1)
  12.             {
  13.             $row=mysql_fetch_assoc($rs);
  14.             $_SESSION[ ' is_logged ' ]==true;
  15.             $_SESSION[ ' user_info ' ]=$row;
  16.             header( ' Location: index.php ' );
  17.             exit;
  18.         }
  19.         elseif(mysql_num_rows($rs)==0)
  20.             {
  21.             echo  ' <h1>Грешно име или парола!</h1> ' ;
  22.         }
  23.     }
  24. }
  25. my_header( " Вход " );
  26. ?>
  27. <form action= " login.php "  method= " POST " >
  28.     Потребителско име: <input type= " text "  name= " user_name " />
  29.  
  30.     Парола: <input type= " text "  name= " user_pass " />
  31.  
  32.     <input type= " submit "  value= " Влез "  />
  33.  
  34.     <input type= " hidden "  name= " form_login "  value= " 1 "  />
  35.  
  36. </form>
  37. <?php
  38. footer();
« Последна редакция: 14 Април 2015, 23:38:45 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг:MCF - login форма
« Отговор #2 -: 10 Април 2010, 22:32:59 »
Аз не съм гледал филма ама ако имаш сесия не трябвали файла да започва с нея?
Обаче пак повтарям че не схващам контекста и не схванах какво ти се или не ти се показва?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

logicbg

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Отг:MCF - login форма
« Отговор #3 -: 10 Април 2010, 22:36:49 »
На 16тата минута някъде, на гатака не му се показва менютю (<div id= " topMenu " >).
Код: PHP
  1. <?php
  2. function my_header($title)
  3. {
  4.     session_start();
  5.    ?>
  6. <!DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
  7. <html xmlns= " http://www.w3.org/1999/xhtml " >
  8. <head>
  9.   <meta http-equiv= " content-type "  content= " text/html; charset=UTF-8 "  />
  10.   <meta name= " keywords "  content= " rock, stars, news, groups, рок, звезди, новини, групи, "  />
  11.   <meta name= " author "  content= " Danny "  />
  12.   <title><?php echo  " RockStars - $title " ; ?></title>
  13.   <link rel= " stylesheet "  href= " ../styles/main.css "  type= " text/css "  />
  14.   <link rel= " stylesheet "  href= " ../styles/.css "  type= " text/css "  />
  15.   <!--[if IE]>
  16.   <link type= &quot text/css &quot  rel= &quot stylesheet &quot  href= &quot ../styles/ie7.css &quot  />
  17.   <![endif]-->
  18. </head>
  19. <body>
  20.     <div id= " topMenu " >
  21. <?php
  22. if($_SESSION[ ' is_logged ' ]===true)
  23.     {
  24.     echo  ' Здравей: <b> ' .$_SESSION[ ' user_info ' ][ ' user_name ' ]. ' </b> ' ;
  25. }
  26. else
  27.     {
  28.     echo  ' <a href= " ../register.php " >Регистрирай се</a> | <a href= " ../login.php " >Влез</a> ' ;
  29. }
  30. ?>
  31. </div>
  32.     <?php
  33. }
  34.  
  35. function footer()
  36. {
  37. echo  ' </body></html> ' ;
  38. }
  39.  
  40. function db_init()
  41. {
  42.    mysql_connect( ' localhost ' ,  ' root ' ,  ' parolata ' ) or die( " Грешка с базата данни! Моля свържете се с администратора! " );
  43.    mysql_select_db( ' rock-stars ' );
  44. }
  45. ?>
« Последна редакция: 14 Април 2015, 23:38:55 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг:MCF - login форма
« Отговор #4 -: 10 Април 2010, 22:53:58 »
Дано някой който е гледал видеото да помогне аз не мога обаче гледам че има разни инклуднати неща и може да не си написал нещо там. Щом има сесии и нещо при него работи а при теб не, значи си объркал нещо в самата сесия.
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

Beringer

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 13
Отг:MCF - login форма
« Отговор #5 -: 11 Април 2010, 02:59:17 »
Махаш session_start() от функцията my_header

Код: PHP
  1. <?php
  2. function my_header($title)
  3. {
  4. ?>
  5. <!DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
  6. <html xmlns= " http://www.w3.org/1999/xhtml " >
  7. <head>
  8.   <meta http-equiv= " content-type "  content= " text/html; charset=UTF-8 "  />
  9.   <meta name= " keywords "  content= " rock, stars, news, groups, рок, звезди, новини, групи, "  />
  10.   <meta name= " author "  content= " Danny "  />
  11.   <title><?php echo  " RockStars - $title " ; ?></title>
  12.   <link rel= " stylesheet "  href= " ../styles/main.css "  type= " text/css "  />
  13.   <link rel= " stylesheet "  href= " ../styles/.css "  type= " text/css "  />
  14.   <!--[if IE]>
  15.   <link type= &quot text/css &quot  rel= &quot stylesheet &quot  href= &quot ../styles/ie7.css &quot  />
  16.   <![endif]-->
  17. </head>
  18. <body>
  19.     <div id= " topMenu " >
  20. <?php
  21. if($_SESSION[ ' is_logged ' ]===true)
  22.     {
  23.     echo  ' Здравей: <b> ' .$_SESSION[ ' user_info ' ][ ' user_name ' ]. ' </b> ' ;
  24. }
  25. else
  26.     {
  27.     echo  ' <a href= " ../register.php " >Регистрирай се</a> | <a href= " ../login.php " >Влез</a> ' ;
  28. }
  29. ?>
  30. </div>
  31.     <?php
  32. }
  33.  
  34. function footer()
  35. {
  36. echo  ' </body></html> ' ;
  37. }
  38.  
  39. function db_init()
  40. {
  41.    mysql_connect( ' localhost ' ,  ' root ' ,  ' parolata ' ) or die( " Грешка с базата данни! Моля свържете се с администратора! " );
  42.    mysql_select_db( ' rock-stars ' );
  43. }
  44. ?>


и я шибваш в login.php

Код: PHP
  1. <?php
  2. include  ' ./inc/functions.php ' ;
  3. if($_POST[ ' form_login ' ]==1)
  4.     {
  5.     $user_name=trim($_POST[ ' user_name ' ]);
  6.     $user_pass=trim($_POST[ ' user_pass ' ]);
  7.     if(strlen($user_name)>3 && strlen($user_pass)>3)
  8.         {
  9.         db_init();
  10.         $rs=mysql_query( ' SELECT * FROM users WHERE user_name= "  ' .addslashes($user_name). '  "  AND user_pass= "  ' .md5($user_pass). '  "  ' );
  11.         if(mysql_num_rows($rs)==1)
  12.             {
  13.             $row=mysql_fetch_assoc($rs);
  14.             $_SESSION[ ' is_logged ' ]==true;
  15.             $_SESSION[ ' user_info ' ]=$row;
  16.             header( ' Location: index.php ' );
  17.             exit;
  18.         }
  19.         elseif(mysql_num_rows($rs)==0)
  20.             {
  21.             echo  ' <h1>Грешно име или парола!</h1> ' ;
  22.         }
  23.     }
  24. }
  25. my_header( " Вход " );
  26. ?>
  27. <form action= " login.php "  method= " POST " >
  28.     Потребителско име: <input type= " text "  name= " user_name " />
  29.  
  30.     Парола: <input type= " text "  name= " user_pass " />
  31.  
  32.     <input type= " submit "  value= " Влез "  />
  33.  
  34.     <input type= " hidden "  name= " form_login "  value= " 1 "  />
  35.  
  36. </form>
  37. <?php
  38. footer();

Просто трябваше да изгледаш още малка част от видеото. Иван го обяснява.
« Последна редакция: 14 Април 2015, 23:39:10 от Avalanche »

Деан Христов

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 41
    • Деан Христов
Отг:MCF - login форма
« Отговор #6 -: 18 Април 2010, 13:46:51 »
Немога да разбера защо ми вади тези грешки при вълиден user или грешен все едно ми вади
етоги грешките:
......................
Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\\xampp\\htdocs\\mcf\\login.php on line 12

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\\xampp\\htdocs\\mcf\\login.php on line 19
......................



етого и файла
......................
login.php
............
Код: PHP
  1. <?php
  2. include  ' function.php ' ;
  3. if($_POST[ ' form_sub ' ]==1)
  4.     {
  5.     $login=trim($_POST[ ' user_login ' ]);
  6.     $pass=trim($_POST[ ' user_pass ' ]);
  7.     if(strlen($login)>4 && strlen($pass)>4)
  8.         {
  9.         db_init();
  10.         $rs=mysql_query( ' SELECT * FROM users WHERE login= "  ' .addslashes($login). '  "  AND pass= "  ' .md5($pass). '  "  ' );
  11.      if(mysql_num_rows($row)==1)
  12.          {
  13.      $row=mysql_fetch_assoc($rs);
  14.      $_SESSION[ ' is_logged ' ]=true;
  15.      $_SESSION[ ' user_info ' ]=$row;
  16.      header( ' Location: index.php ' );
  17.      }
  18.      elseif(mysql_num_rows($row)==0)
  19.          {
  20.          echo  ' <h3>Грешно име или парола</h3> ' ;
  21.      }
  22.      
  23.      
  24.      
  25. }
  26.  
  27.     }
  28. my_hedar( " Вход " );
  29. ?>
  30. <form action= " login.php "  method= " post " >
  31.     Потребител:
  32.  
  33.     <input type= " text "  name= " user_login "  value= "  "  />
  34.  
  35.     Парола:
  36.  
  37.     <input type= " password "  name= " user_pass "  value= "  "  />
  38.  
  39.     <input type= " submit "  name= "  "  value= " Вход "  />
  40.     <input type= " hidden "  name= " form_sub "  value= " 1 "  />
  41. </form>
...........
function.php
.........

Код: PHP
  1. <?php
  2. function my_hedar($title)
  3. {
  4. ?>
  5. <!DOCTYPE HTML PUBLIC  " -//W3C//DTD HTML 4.01 Transitional//EN " >
  6. <html>
  7.     <head>
  8.         <meta http-equiv= " Content-Type "  content= " text/html; charset=UTF-8 " >
  9.         <title><?php echo $title; ?></title>
  10.         <body>
  11.             <div id= " top_menu " >
  12.  
  13.             </div>
  14.             <?php
  15.  
  16.    
  17.                 if($_SESSION[ ' is_logged ' ]===true)
  18.                 {
  19.                   echo  ' Здравей <b> ' .$_SESSION[ ' user_info ' ][ ' user_login ' ]. ' </b> ' ;
  20.                   echo  ' <a href= " logout.php " >Излез</a> ' ;
  21.                 }
  22.                 else
  23.                 {
  24.                     echo  ' <a href= " register.php " >Регистрирай се</a> |<a href= " login.php " >Влез</a> ' ;
  25.                 }
  26.              ?>
  27.             </div>
  28.             <?php
  29.                
  30.  
  31. }
  32. function footer()
  33. {
  34.     echo  ' </body></html> ' ;
  35. }
  36. function db_init()
  37. {
  38.     $server= ' Localhost ' ;
  39.     $username= ' root ' ;
  40.     $password= '  ' ;
  41.     $database_name= ' mcfaaaaaaaa ' ;
  42.     mysql_connect( ' localhost ' ,  ' root ' ,  '  ' )or die( ' Error connect to server ' );
  43.     mysql_select_db( ' mcf ' )or die( ' error datebasess ' );
  44.  
  45.  
  46. }
  47. ?>
« Последна редакция: 14 Април 2015, 23:39:33 от Avalanche »

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг:MCF - login форма
« Отговор #7 -: 18 Април 2010, 14:03:50 »
if(mysql_num_rows($row)==1)

Тука тоя $row от къде идва?
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

Деан Христов

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 41
    • Деан Христов
Отг:MCF - login форма
« Отговор #8 -: 18 Април 2010, 22:43:08 »
$rs=mysql_query( ' SELECT * FROM users WHERE login= "  ' .addslashes($login). '  "  AND pass= "  ' .md5($pass). '  "  ' );
$row=mysql_fetch_assoc($rs);

Деан Христов

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 41
    • Деан Христов
Отг:MCF - login форма
« Отговор #9 -: 18 Април 2010, 23:08:34 »
Как се слага този log file за който Иван Ванков говори в този урок или как и коге е добре да ги правим тези log files? надявам се някои да ми одговори на този въпрос  ;)

echeveria

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 72
  • -Получени: 93
  • Публикации: 4836
Отг:MCF - login форма
« Отговор #10 -: 19 Април 2010, 00:33:20 »
Не съм гледал филма ако остане време утре ще го погледна. Колкото до това което уж си ми отговорил аз нещо съм те насочил а ти дали си ме разбрал си погледни какво ти плюе браузера.
Днес Печатарите използват парите за да купят мозъците на онези, които ги превъзхождат, за да ги накарат да им служат и така да се превърнат в жертва на посредствеността. Това ли е причината, поради която ги наричате благо?
<iframe src="http://www.corbindavenport.com/ubuntu/widget.html" style="width:

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Отг:MCF - login форма
« Отговор #11 -: 20 Април 2010, 22:32:59 »
Цитат
$rs=mysql_query( ' SELECT * FROM users WHERE login= "  ' .addslashes($login). '  "  AND pass= "  ' .md5($pass). '  "  ' );
if(mysql_num_rows($row)==1)

Нямаш нищо в тази променлива $row.
Трябва да ти е mysql_num_rows($rs) и проблемът трябва да изчезне. Такава грешка става, когато няма нищо в променливата, използвана за параметър на функции като mysql_fetch_assoc() , mysql_fetch_array(), mysql_num_rows() и тн. Това може да се получи и примерно, ако синтаксиса в заявката не е правилен и няма да има върнат ресурс :)

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Отг:MCF - login форма
« Отговор #12 -: 19 Октомври 2010, 11:58:18 »
За съжаление имам един малък проблем с урока. Правя всичко както е описано в урока. Проблемът се състои в следното нещо. Имам записи в базата ми, но като се опитам да се логна с име и парола все ми се появява  " Грешно име и парола " . Предоставям и кода
<?php

session_start
();
include  
' function.php ' ;
error_reporting" E_NONE " );
head();
//vzimam dannite ot formata
if ($_POST' form_submit ' ] == 1) {
    
$user trim($_POST' username ' ]);
    
$pass trim($_POST' pass ' ]);
}
//ako ne se submitva prenasochvam kum stranicata
else {
    
header" Location: main.php " );
}
//startiram bazata
db_init();

//eto i zaqvkata
$rs=mysql_query' SELECT * FROM users WHERE username= "  ' .addslashes($user). '  "  AND password= "  ' .md5($pass). '  "  ' );
if(
mysql_num_rows($rs)==1)
{
$row=mysql_fetch_assoc($rs);
$_SESSION' is_logged ' ]=true;
$_SESSION' user_info ' ]=$row;
header' Location: index.php ' );
}
elseif(
mysql_num_rows($row)==0)
{
echo  
' <h3>Грешно име или парола</h3> ' ;
}

?>

« Последна редакция: 12 Юли 2011, 21:44:34 от HD »

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Отг:MCF - login форма
« Отговор #13 -: 19 Октомври 2010, 12:00:54 »
За съжаление имам един малък проблем с урока. Правя всичко както е описано в урока. Проблемът се състои в следното нещо. Имам записи в базата ми, но като се опитам да се логна с име и парола все ми се появява  " Грешно име и парола " . Предоставям и кода
<?php

session_start
();
include  &
#39; function.php &#39; ;
error_reporting" E_NONE " );
head();
//vzimam dannite ot formata
if ($_POST[ &#39; form_submit &#39; ] == 1) {
    
$user trim($_POST[ &#39; username &#39; ]);
    
$pass trim($_POST[ &#39; pass &#39; ]);
}
//ako ne se submitva prenasochvam kum stranicata
else {
    
header" Location: main.php " );
}
//startiram bazata
db_init();

//eto i zaqvkata
$rs=mysql_query( &#39; SELECT * FROM users WHERE username= "  &#39; .addslashes($user). &#39;  "  AND password= "  &#39; .md5($pass). &#39;  "  &#39; );
if(mysql_num_rows($rs)==1)
{
$row=mysql_fetch_assoc($rs);
$_SESSION[ &#39; is_logged &#39; ]=true;
$_SESSION[ &#39; user_info &#39; ]=$row;
header( &#39; Location: index.php &#39; );
}
elseif(
mysql_num_rows($row)==0)
{
echo  &
#39; <h3>Грешно име или парола</h3> &#39; ;
}

?>

« Последна редакция: 02 Декември 2010, 22:30:32 от borovaka »

Pitankata

  • Мно'о доблестни
  • Hero Member
  • ***
  • Благодарности
  • -Казани: 89
  • -Получени: 136
  • Публикации: 1321
  • ПАЗИТЕЛ НА ЧАТА
Отг:MCF - login форма
« Отговор #14 -: 19 Октомври 2010, 12:18:42 »
здрасти,
така като гледам немаш проблеми с кода освен това

} elseif (mysql_num_rows($row) == 0) {
трябва да е

} elseif (mysql_num_rows($rs) == 0) {

я виж в базата паролата дали е md5 или си е текст :о)
Мързелът всъщност е доста гадна работа, не можеш да спреш за да си починеш...