Здравей и добре дошъл в Научи.Ме!
Значи това е често срещана грешка при начинаещите. Така написан кода, всеки път проверява за POST променливите login и pass (дори когато не е изпратена формата)
За да се избегнат грешките трябва да се направи първо проверка дали е изпратена формата, и тогава да се взимат login и pass.
Ето как трябва да изглежда кода:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
if (isset($_SESSION['is_logged'])==true) {
//T0D0 list of friends
echo '<a href="logout.php">Logout</a>';
} else {
// правим проверка дали е изпратена формата
// като проверяваме дали не е празен масива _POST, ако не е празен
// значи са изпратени данни и може да реализираме логиката за входа
if (!empty($_POST)) {
$login=trim(addslashes($_POST['login']));
$pass=trim(addslashes($_POST['pass']));
if (strlen($login)>3 && strlen($pass)>3) {
if ($login=="stefan" && $pass="asdasd") {
$_SESSION['is_logged']=true;
header('Location:index.php');
}else{
echo 'wrong username/password';
}
}
}
?>
<form method="post" action="index.php">
Username:</br><input type="text" name="login"/></br>
Password:</br><input type="password" name="pass"/></br>
<input type="submit" value="Login"/>
</form>
<?php
}
?>
</body>
</html>
П.П.: Тези грешки са от тип Notice, тоест не са много фатални и кода ще си работи без проблем, но е добра практика да ги отстраняваме