Как да направя проверката за логин

katsar0v

Registered
INDEX.PHP
Код:
<?php
session_start();
ob_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Script by Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged']===true)
{
echo 'Добре Дошли :)<br>
    <a href="logout.php">Logout</a><br>';
$friends=file('data.txt');
	}

                else
   {
$login=trim($_POST['login']);
$pass=trim($_POST['pass']);
if(strlen($login)>3 && strlen($pass)>3)
{
if($login=="katsarov" && $pass=="123456")
{
$_SESSION['is_logged']=true;
header('Location: index.php');
}
else{
echo 'Wrong Username Or Password';
}
}

?>
<form method="post" action="index.php">
Username:<input type="text" name="login"><br>
Password:<input type="password" name="pass"><br>
<input type="submit" value="Login">


</form><a href="add.php">
<input type="button" value="Регистрация"></a>
<?php
}
?></center>
</body>
</html>

ADD.PHP
Код:
<?php
ob_start();
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Script By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php           
		   $name=trim($_POST['name']);
            $pass=trim($_POST['pass']);
            
            if(strlen($name)>3 && strlen($pass)>5)
                {
                $tmp='name:'.$name.';password:'.$pass.';';
                file_put_contents('data.txt', $tmp."\n",FILE_APPEND);
                echo 'Информацията е записана';

            }

 
    ?>
<form method="post" action="add.php">
    <input type="hidden" name="formSubmit" value="1">
    Name:<input type="text" name="name"><font size="2">*Минимум 3 символа</font><br>
        Password:<input type="text" name="pass"><font size="2">*Минимум 5 символа</font><br>
    <input type="submit" value="Регистрация">
</form>
PASSWORDS.PHP
Код:
<?php
session_start();
ob_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ПАРОЛИ </title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged']===true)
{
$friends=file('data.txt');
echo '<table border=1 cellpading=0 cellspacing=0 bgcolor=666666>
    <tr><td>User</td><td>Passwords</td></tr>';
foreach($friends as $v)
    {
    $xpl=explode(';', $v);
    foreach($xpl as $vv)
        {
        $tmp2=explode(':', $vv);
                if($tmp2[0]=='name')
                {
                    $name=$tmp2[1];
                }
                elseif($tmp2[0]=='mail') {
                    $mail=$tmp2[1];
                }
                    
                }
                echo '<tr><td>'.$name.'</td><td>'.$mail.'</td></tr>';
                }
                echo '</table>';
                }
                else
   {
$login=trim($_POST['login']);
$pass=trim($_POST['pass']);
if(strlen($login)>3 && strlen($pass)>3)
{
if($login=="katsarov" && $pass=="123456")
{
$_SESSION['is_logged']=true;
header('Location: p_a_s_s_w_o_r_d_s.php');
}
else{
echo 'Wrong Username Or Password';
}
}

?>
<form method="post" action="p_a_s_s_w_o_r_d_s.php">
Username:<input type="text" name="login"><br>
Password:<input type="password" name="pass"><br>
<input type="submit" value="Login">


</form>
<?php
}
?></center>
</body>
</html>

Въпроса ми е :
Как да направя така че проверката за юзъра и паролата да се проверява от таблицата във password.php :)
Или евентуално да се получи същия ефект но от mysql :)
П.П. Има файл data.txt който се показва в таблицата passwords.php който не съм публикувал тук ...
 
name:123123132;mail:32465456;
name:qsadasdasd;mail:12ewqd1;
name:haha;password:hahahaha;


Това е във data.txt

Бих искал ако е възможно , същия скрипт да го направя със бд (mysql) ,
и след това валидацията да става чрез mysql ( само да спомена , че не искам паролите да се криптират от сорта на md5 , това ще го направя аз :) )
Ако можете да махнете explode и да сложите функциите за mysql ще е много добре
Благодаря предварително :)
 
katsar0v пич не ти ли писна ай стига вече тука форума ти направиха цяла система и още нищо ли не си разбрал ?! то така не се учи пхп като питаш само кое как....
 
1. ob_start(); се използва тогава, когато изпращаш някаква информация на браузъра преди session_start(), header() и т.н. Не е нужно да се ползва винаги (даже според мен е препоръчително да не се използва никога).
Това е скрипта за регистрация. Може да се подобри още много, но общо взето това е логиката. Добави си проверка дали потр. име съществува, може да сложиш още едно поле за парола и да сравняваш дали потр. е въвел двете пароли и те са еднакви.
Код:
 <?php
ob_start();
session_start();

if ($_SESSION['is_logged'] == true)
{
	echo 'Вече си логнат';
	die();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Script By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php           
    if ($_POST['submit'])
	{
		$name = addslashes($_POST['name']);
		$pass = addslashes($_POST['mail']);
		
		if ( !$name || !$pass )
		{
			die('Попълнете коректно формата');
		}
		
		if (strlen($name) <=3 || strlen($pass) <=5)
		{
			die('Потр. име трябва да бъде минимум 3 символа, а паролата - 5');
		}
		
		include ('config.php'); // тук трябва да е файла, който ти прави връзката с БД
		
		$sql = 'INSERT INTO users VALUES (name, pass) VALUES ("'.$user.'", "'.$pass.'")';
		$query = mysql_query($sql);
		
		if ($query)
		{
			echo 'Регистрацията премина успешно';
		}
		
		else
		{
			echo 'Грешка при регистрация' . mysql_error();
			die();
		}
	
	}
?>
<form method="post" action="add.php">
    <input type="hidden" name="formSubmit" value="1">
		Name:<input type="text" name="name"><font size="2">*Минимум 3 символа</font><br>
        Password:<input type="text" name="pass"><font size="2">*Минимум 5 символа</font><br>
    <input type="submit" name="submit" value="Регистрация">
</form>
 

Back
Горе