所以我正在学习一些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>";
}
答案 0 :(得分:1)
这可能是因为你的会话没有剩余。在session_start()
代码后面添加<?php
。
答案 1 :(得分:0)
最好在代码中添加它。
<?php
if (session_status() !== PHP_SESSION_ACTIVE) {session_start();}
?>
session_status()将返回
如果会话被禁用,则为PHP_SESSION_DISABLED。 PHP_SESSION_NONE如果启用了会话,但都不存在。 PHP_SESSION_ACTIVE如果启用会话,则存在一个。