Грешка при логин

katsar0v

Registered
<?php
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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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>
<?php
}
?></center>
</body>
</html>


Като се логна с user и pass изписва

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\book\index.php:11) in C:\xampp\htdocs\book\index.php on line 26....
 
Код:
<?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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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>
<?php
}
?></center>
</body>
</html>

просто слагаш ob_start(); над всичко.
 
Код:
<?php
       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>Friend Book By Katsar0v</title>
    </head>
    <body bgcolor="cccccc"><center>
        <?php
        if($_SESSION['is_logged ']==true)
            {
            echo "Logged";
            //TODO LIST OF FRIENDS
        }
        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;
                            echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=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>
        <?php
        }
        ?></center>
    </body>
</html>
 
<?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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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>
<?php
}
?></center>
</body>
</html>

Така трябва да сработи
 
Човек, моля те, недей спами! Прегледай малко, аз съм го казал преди теб, но онзи пич каза, че не искал така...
 
Karcho каза:
Човек, моля те, недей спами! Прегледай малко, аз съм го казал преди теб, но онзи пич каза, че не искал така...

Приятел аз видях твоя код но имай на предвид че

ob_start(); никога не се слага преди session_start(); ;) приятел пробвай моя би трябвало да сработи..
 
<?php
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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
---------------------------
<?php

просто тази част ти е преди header index.php
заради това ти дава грешката баце. ob_start изобщо не ти трябва
 
Код:
 <?php 
session_start(); 
if($_SESSION['is_logged ']==true) 
{ 
echo "Logged"; 
//TODO LIST OF FRIENDS 
} 
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'; 
} 
} 

?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Friend Book By Katsar0v</title> 
</head> 
<body bgcolor="cccccc"><center> 
<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> 
<?php 
} 
?></center> 
</body> 
</html>
 
Също така може пренасочването да стане и по този начин..

<?php
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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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;
echo '<META HTTP-EQUIV="Refresh"
CONTENT="10; URL=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>
<?php
}
?></center>
</body>
</html>
 
да но ако използва рефреш ще трябва да чака 10 секунди. това е по удобно да изпише тогава и текс ще бъдете насочен бля бля бля, но за логин ми се струва по уместно с header, просто въпрос на избор ;]
 
<?php
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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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;

echo 'Вие ще бъдете пренасочени след 2 секунди :)';
echo '<META HTTP-EQUIV="Refresh"
CONTENT="2; URL=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>
<?php
}
?></center>
</body>
</html>

Така според мен ще е най готино :)
 
Значи не искам скрипта да се променя много тъй като е по урок , а аз съм начинаещ и искам да се науча а не да копирам наготово от някого и да не знам кое за какво е ... след като сложих ob_start() след като се логна не ми показва нищо :)
Ако някой ми даде този код със ob_start() ; и обясни направените промени за да работи ще си заслужи напълно точката... можете да видите http://212.45.84.160/book :)
 
Karcho каза:
Код:
<?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>Friend Book By Katsar0v</title>
</head>
<body bgcolor="cccccc"><center>
<?php
if($_SESSION['is_logged ']==true)
{
echo "Logged";
//TODO LIST OF FRIENDS
}
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>
<?php
}
?></center>
</body>
</html>

просто слагаш ob_start(); над всичко.

Само ob_start(); поставяш, защо да не го пишеш така? Не на всякъде е уместно да се ползва, но тук трябва. Това което прави
ob_start() (Output buffering start)
стартира output buffering-a, то чете целия файл и си го пренарежда както би трябвало да бъде. Надявам се да си го разбрал.
 

Back
Горе