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

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

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #60 -: 13 Септември 2011, 21:56:02 »
Благодаря ти че ми каза да се помъча,и ако вече немога да оправя проблема да пиша.Благодаря.За паролата.Разгледах хубаво кода и съм пропуснал да напиша '  pass="'.md5($pas)'"  ' Затова трябваше да се логвам с md5 парола.Сега се логвам  с нормална.Но сега пак не ми излиза      здавей ....  .Ще поразгледам кода още малко и ако немога да се справя ще попитам тук.:) :)

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #61 -: 13 Септември 2011, 23:37:45 »
Бреййй.Само тоя проблем ми остана и продъжавам към администрация 1.Брей гледам го аз.Чуда са защи не ми се показва 'здравей ....'.Моля малко да ми помогнете.Ето логин.пхп-
Код: 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 pass="' . md5($pass) . '"');
  13.         if (mysql_num_rows($rs)==1)
  14.             {
  15.             $row=mysql_fetch_array($rs);
  16.             $_SESSION['is_logged']=true;
  17.             $_SESSION['user_info']=$row;
  18.             header('Location: index.php');
  19.             exit();
  20.             }
  21.         elseif (mysql_num_rows($rs)==0)
  22.             {
  23.             echo '<h2>Грешно име или парола</h2>';
  24.             }
  25.        }
  26.     }
  27. my_header('Вход');
  28. ?>
  29.  
  30. <form action="login.php" method="post">
  31.     Потребител: <input type="text" name="login_name" /><br/>
  32.     Парола:     <input type="password" name="login_pass" /><br/>
  33.     <input type="submit" value="Вход" /><br/>
  34.     <input type="hidden" name="form_login" value="1"/>
  35. </form>
  36. <?php
  37. footer();
  38. ?>
  39.  

Ето и фун

Код: PHP
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3.  
  4. function my_header($title) {
  5.  
  6.     session_start();
  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.                 if($_SESSION['is_logged']===true)
  20.                 {
  21.                     echo 'Здравей:<b>' .$_SESSION['user_info']['login']. '</b> <a href="logout.php">Изход</a> ';
  22.                 }
  23.                 else
  24.                 {
  25.                     echo '<a href="register.php">Регистрирай се</a> | ';
  26.                     echo '<a href="index.php">Начало</a> | ';
  27.                     echo '<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', '') or die("Грешка с базата банни");
  42.                 mysql_select_db('mcf');
  43.             }

Гледах го във това true  но не разбирам защо става така ???

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: MCF - login форма
« Отговор #62 -: 14 Септември 2011, 05:16:13 »
За да се покаже - здравей трябва да се напише със двойно с.
Пише се ссдравей, а не здравей, смени з-то със с-то и всичко ще се оправи, дори и базата данни.
Java is to Javascript as fun is to funeral.

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

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #63 -: 14 Септември 2011, 12:40:06 »
Да,да.Пише се здравей а не ссдравей.Не съм малоумен.Аз просто питам въпрос. :) ???

ivcho02

  • Гост
Re: MCF - login форма
« Отговор #64 -: 14 Септември 2011, 13:03:25 »
Хора извинявайте оправих се.Просто във всеки файл трябвало да сложа session_start.  ;D ;D

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: MCF - login форма
« Отговор #65 -: 14 Септември 2011, 13:59:21 »
Пишеш по форуми, въпроси задаваш, адекватни отговори очакаш....
Научи се първо да пишеш грамотно.
Би трябвало по книжарниците да се продават книжки за правоговор и правопис, предполагам, че и в мрежата има много информация, просто трябва да се потърси.
За мен е недопустимо, хора занимаващи се с компютърни езици, да пишат неграмотно на майчиният си език.
Java is to Javascript as fun is to funeral.

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

ReDBuLL

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 36
Re: MCF - login форма
« Отговор #66 -: 13 Ноември 2011, 13:55:11 »
Добре прочетох всичко прегледах си кода 2-пати и сравних с тоя от урока и ми изкарва следната грешка и незнма вече какво да направя прочетох цялата тема и пак нищо ето и грешката:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\nfs\login.php on line 14

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\nfs\login.php on line 18


Ето го и кода ми:

Functions.php
<?php
error_reporting
(E_ALL E_NOTICE);
function 
my_header($title
{
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php echo $title?></title>
</head>
<body>
<div id="top_menu">
<?php
if ($_SESSION['is_logged'] === true)
{


else

echo 
'<a href="register.php">Регистрирай се</a> | <a href="login.php">Влез</a>';
}
?>

</div>
<?php
}

function 
footer() {
echo 
'</body></html>';
}

function 
db_init()
{
    
mysql_connect('localhost''root''parolata') or die ("Няма връзка с сървъра!");
    
mysql_select_db('nfs') or die ("Немога да избера база данни!");
}

Login.php
<?php
include 'functions.php';
my_header("Вход");

if(
$_POST['form_login']==1)
{
$login=trim($_POST['login_name']);
$pass=trim($_POST['login_pass']);

if(
strlen($login)>&& strlen($pass)>3)
{
db_init();
$rs=mysql_query('SELEC * FROM users WHERE login="'.addslashes($login).'" AND pass="'.md5($pass).'"');
if(
mysql_num_rows($rs)==1)
{
$row=mysql_fetch_assoc($rs);
}
elseif(
mysql_num_rows($rs)==0)
{
echo 
'<h1>Грено име или пароа!</h1>';
}
}


}
?>

<form action="login.php" method="post">
    Име:<input type="text" name="login_name" value="Username" /><br />
    Парола:<input type="password" name="login_pass" value="password" /><br />
    <input type="hidden" name="form_login" value="1" />
    <input type="submit" value="Влез" /><br />
</form>
<?php
footer
();


Не знам какво да направя вече помагайте моля ви  :'(

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - login форма
« Отговор #67 -: 13 Ноември 2011, 17:24:07 »
Значи това старта на сесията го махаш от function.php и го слагаш във всички останали файлове, след include, поне при мен работи така.

А при мен има следният бъг - ако въведа по малко от 3 - т.е. 2 или 1 символа на пас и'юзър и това по отношение само на латински символи, не ми изкарва ехото за грешка, а просто рефрешва логин файла.
« Последна редакция: 13 Ноември 2011, 17:40:59 от ashaman »

NeDkU

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 5
Re: MCF - login форма
« Отговор #68 -: 13 Ноември 2011, 18:34:17 »
ReDBuLL

Грешката която ти дава означавам, че върнатият резултат от базата данни не е валиден.
В твоя случай конкретно резултата не е валиден защото си написал SELEC вместо SELECТ
във заявката към базата данни. Промени го и ще се оправи.

ReDBuLL

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 36
Re: MCF - login форма
« Отговор #69 -: 13 Ноември 2011, 18:38:04 »
ReDBuLL

Грешката която ти дава означавам, че върнатият резултат от базата данни не е валиден.
В твоя случай конкретно резултата не е валиден защото си написал SELEC вместо SELECТ
във заявката към базата данни. Промени го и ще се оправи.

Да видях го и го правих по рано забравих да ви кажа да не се оплесвате с мене  ;)

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - login форма
« Отговор #70 -: 30 Ноември 2011, 16:38:23 »
Пак съм аз...
Става въпрос за това, че се опитвам да направя логина в индекса и въобще в хедъра. Обаче правенето на структура ми е трудно.
Структурата е такава, че хедъра е във functions.php
html<div id="">
php проверката е вътре, резултатите се извеждат с ехо - и няма как примерно да инклудна login. php ( където са пък проверките за невалиден юзър ) в това ехо, щото за това се сетих най-напред. Ама така не може. Ако пък е извън php тага, проверката ще мине ама няма да има отношение към това, какво показва.
Как, как, как да се минат тези проверки със съответния html за да се извършва всичко в хедъра...
Ей това
Код: HTML
  1. <form action="login.php" method="post">
е проблема, а каквито начини намерих - единия е за селф, другия е да се инклудне в дива, но така не става, защото  проверката тече в php тага.
Ето и кодовете малко всъщност. Това е за хедъра.
Код: HTML
  1. <div id="topmenu">
  2.  
  3.     <?php
  4.    if ($_SESSION['is_logged'] === true) {
  5.        echo '<div class="user">Здравей: <b>' . $_SESSION['user_info']['login'] . '</b></div>';
  6.         if ($_SESSION['user_info']['type'] == 3) {
  7.             echo '<div class="admin"><a href="admin.php">Админ панел</a></div>';
  8.                echo '<div class="index"><a href="index.php">Начало</a></div>';
  9.         }
  10.         echo '<div class="logout"><a href = "logout.php">Изход</a></div>';
  11.     } else {
  12.         echo '<div class="reg"><a href="register.php">Регистрация</a></div>';
  13.        
  14.         echo '<div class="index"><a href="index.php">Начало</a></div>';
  15.         echo '<form action="login.php" method="post">
тука се извежда ехото за проверката, която ме интересува, беше си с линк, обаче слагам тука формата за логин като за най лесно и каквото се сещам, при съществуъваш юзър не е проблем , но иначе си прави екшъна към login.php а аз искам да  седи в хедъра и там да изкара съощбенията за грешка...
« Последна редакция: 30 Ноември 2011, 16:50:10 от ashaman »

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - login форма
« Отговор #71 -: 30 Ноември 2011, 20:22:20 »
Единствено успях да структуриам проверките и с action="" да препраща в индекса,а ма това е безмислено...

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: MCF - login форма
« Отговор #72 -: 30 Ноември 2011, 21:34:52 »
От толкова мн обяснение не разбрах почти нищо.Искаш да направиш нещо подобно като в този форум ли - да имаш форма за вход отгоре ?

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: MCF - login форма
« Отговор #73 -: 30 Ноември 2011, 22:04:23 »
Аз доколкото разбирам, имаш проблем със създаването на правилен html layout structure with php ( съжалявам за английския, ама не знам как да го преведа на БГ), това ли е проблема ?
Java is to Javascript as fun is to funeral.

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

ashaman

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 76
Re: MCF - login форма
« Отговор #74 -: 01 Декември 2011, 10:50:15 »
Това го направих в хедъра, това което не мога да направя е, при логване да си остава в настоящата страница в която е посетителя, понеже той може да е на различни места по форума, начините които намерих са просто със action="" или action="'.$_SERVER['PHP_SELF'].'"?mode=added" което прави едно и също да ме върне към индекса. Само че почти всички са дедени за html и все едно e вмъкнат <?php ...$_SERVER['PHP_SELF'].'?> което при мен не става защото при мен е
Код: PHP
  1. echo '<form action=
Формата ми е във файл, който е инклуднат по другите файлове за хедър.
Така дали може да стане, а иначе ако не предполагам, че ще трябва да сложа за action таргет файл, който да редиректва към страницата в която сме били в момента на логване, както е по много форуми. А и това незнам колко е трудно или лесно всъщност.

п.с. за action= може ли да се изпълни функция? action="и тука да е фунцията" ?
« Последна редакция: 01 Декември 2011, 11:09:21 от ashaman »