Po pierwsze, mam małe pytanko: czemu skasowałeś mój temat o traceniu sesji? Po drugie sorki jeśli Ci zablokowałem coś. Jak wpisywałem poprzedni post na TYM temacie to coś się pochrzaniło. Co do mojego problemu: czemu mam dawać w adminie session_start() skoro na początku strony to deklaruję? Włączyłem obsługę błędów i... mam takie coś:
Notice: Undefined variable: myusername in C:\xampp\xampp\htdocs\xampp\moyo-0.1\logowanie.php on line 110
Notice: Undefined variable: mypassword in C:\xampp\xampp\htdocs\xampp\moyo-0.1\logowanie.php on line 110
Deprecated: Function session_register() is deprecated in C:\xampp\xampp\htdocs\xampp\moyo-0.1\logowanie.php on line 114
Jesteś zwykłym użytkownikiem
Deprecated: Function session_register() is deprecated in C:\xampp\xampp\htdocs\xampp\moyo-0.1\logowanie.php on line 114
Jesteś zwykłym użytkownikiem
zamiast zalogowania. A teraz podaję skrypt:
if($_GET["wyloguj"] == '1')
{
session_destroy();
unset($_SESSION["logged"]);
}
if($_SESSION["logged"] != "tak")
{
if (!isset($_POST['myusername']) || $_POST['myusername']=="" || !isset($_POST['mypassword']) || $_POST['mypassword']=="")
{
echo '<form name="form1" action="logowanie.php?id=konto" method="Post" >
<div class="log_main">
<div class="log_form">› LOGOWANIE DO SERWISU</div>
<div class="log_dane">
<div class="log_form">Użytkownik: <input name="myusername" type="text" id="myusername"></div>
<div class="log_form">Hasło: <input name="mypassword" type="password" id="mypassword"></div>
<div class="log_form">
<input type="submit" name="Submit" value="Zaloguj" title="zaloguj się">
</div>
</div>
<div class="log_form2">
<a href="javascript:history.go(-1);" title="cofnij do poprzedniej strony"> Wstecz</a> -
<a href="logowanie.php?id=rejestracja">Rejestarcja</a>
</div>
</div>
</form>';
}
else
{
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
//Ochrona przeciw SQl injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM uzytkownicy WHERE login='$myusername' and password='$mypassword'";
$result=mysql_query($sql) or die('Zapytanie:'.$query.' Blad:'.mysql_error());
$count=mysql_num_rows($result);
}
if($count==1)
{
$_SESSION["logged"] = "tak";
$_SESSION["username"] = $myusername;
}
else
{
return "Błędny login lub hasło";
}
}
if($_SESSION["logged"] == "tak")
{
error_reporting(E_ALL);
$sql="SELECT * FROM uzytkownicy WHERE login='$myusername' and password='$mypassword'";
$result = mysql_query($sql) or die('Zapytanie:'.$query.' Blad:'.mysql_error());
while($row = mysql_fetch_assoc($result))
{
session_register('ranga');
$_SESSION['ranga'] = $row['ranga'];
if($_SESSION['ranga']==2)
{
echo 'jesteś administratorem';
echo '<div class="panel_admin_main">
Witaj, jesteś zalogowany jako:
<strong>' .$_SESSION['username']. '</strong> |
<a href="logowanie.php?id=konto&wyloguj=1" OnClick="return confirm(\'Czy napewno chcesz się wylogować?\');" title="Wyloguj się z serwisu">Wyloguj się</a><br />
<ul>
<li><a href="logowanie.php?id=admin_wydarzenia" title="Przejdź do panelu zarządzania wiadomościami">Zarządzanie wiadomościami</a></li>
</ul>
</div>';
}
elseif($_SESSION['ranga']==1)
{
echo 'Jesteś moderatorem';
}
elseif($_SESSION['ranga']==0)
{
echo 'Jesteś zwykłym użytkownikiem <br />';
}
else
{
echo 'Jakim cudem tu się zalogowałeś?';
}
}
}
Teraz już w ogóle cyrk mi się zrobił z tego logowania. Jak chcę wrócić do panelu głównego logowania, to wyświetla mi wszystkich 'zwykłych użytkowników'. Co robić? A