Итак, я изучаю PHP, я делаю простой проект просто для удовольствия.
Я позволяю «пользователю» войти в систему и отображаю «вы вошли как имя пользователя». Это работает нормально, но затем, когда пользователь нажимает кнопку, чтобы добавить что-то в SQL, текст исчезает.
Я попытался повторить это в другом месте, но тогда было только «Вы вошли как» — не было никакого имени пользователя.
Я предполагаю, что это исчезает, когда я использую другой метод «Post», но почему это не в $_SESSION['login']
?
Я пытался использовать echo $_SESSION['login']
и внутри ничего нет
Как я могу сделать так, чтобы «Вы вошли как», оставались до выхода пользователя из системы?
Мне немного стыдно показывать весь мой код, потому что я только начал учиться, и я уверен, что это довольно плохо: D
Это моя часть регистрации
Мне кажется странным, что в if(isset($_SESSION['zalogowany'])
это не имеет $_SESSION['login']
больше (я попытался повторить это там)
<?php
session_start();
require_once("baza.php");
//-------Wylogowywanie
if(isset($_POST['wyloguj']))
{
unset($_SESSION['zalogowany']);
session_destroy();
}
//---------Logowanie
if(!isset($_SESSION['zalogowany']))
{
if(isset($_POST['wyslij']))
{
if(mysql_num_rows(mysql_query("SELECT login
FROM uzytkownicy WHERE login = '".$_POST['login']."'")) > 0)
{
if(mysql_num_rows(mysql_query("SELECT login, haslo, Nr FROM uzytkownicy
WHERE login = '".$_POST['login']."'
&& haslo = '".$_POST['haslo']."' ")) > 0 )
{
$_SESSION['zalogowany'] = true;
$_SESSION['login'] = $_POST['login'];
$_SESSION['haslo'] = $_POST['haslo'];
echo '<font color="red"><center>Jestes zalogowany jako '. $_SESSION['login'].'</center></font>';
}
else
{
echo "Zle haslo, prosze sprobowac ponownie";
echo "<form method='POST' action='SG.php'>
<br><br><input type='submit' value='Logowanie' name='wyloguj'>
</form>";
}
}
else
{
echo "Nie ma takiego uzytkownika";
echo "<form method='POST' action='SG.php'>
<br><br><input type='submit' value='Logowanie' name='wyloguj'>
</form>";}
}
else
{
echo "<form method='POST' action='SG.php'>
<b>Nazwa uzytkownika:</b> <input type='text' name='login'><br>
<br><b>Haslo:</b><br> <input type='password' name='haslo'><br>
<br><input type='submit' value='Wyslij' name='wyslij'>
</form>";}
}
if(isset($_SESSION['zalogowany']))
{
echo "<form method='POST' action='SG.php'><br><input type='submit' value='Wyloguj' name='wyloguj'></form>";
}
Это, вероятно, потому что ваша сессия не остается. добавлять session_start()
сразу после <?php
тег.
Лучше вы можете добавить это в свой код.
<?php
if (session_status() !== PHP_SESSION_ACTIVE) {session_start();}
?>
Session_status () вернется
PHP_SESSION_DISABLED, если сеансы отключены.
PHP_SESSION_NONE, если сессии включены, но ни одна не существует.
PHP_SESSION_ACTIVE, если сеансы включены, и один существует.