Witam. Mam taki prosty system rejestracji i logowania użytkowników z bazy danych na swojej stronce. Wszystko działa poprawnie. Chciałbym jednak zrobić coś na styl autologowania aby użytkownik za każdym razem nie musiał wpisywać loginu i hasła, a został albo automatycznie zalogowany albo zostało mu już login i haslo wyświetlone, gotowe tylko do zatwierdzenia. Kombinowałem na różne sposoby z setcookie($login, $haslo, time()+9999); if(!isSet($_COOKIE['wyslane']) && !isSet($_POST['wyslane'])){ ale nic mi z tego nie wychodzi :/ Bardzo proszę o pomoc.
<?php
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>stronka</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<p><span class="styl2"><font face="Comic Sans MS" color="#006699">Zaloguj się</font></span><br>
<div class="content2">
<?php
if (!isset($_SESSION['login'])) {
if ($_POST['wyslane']) {
include 'baza.php';
$tabela = 'uzytkownicy';
$login = $_POST["login"];
$haslo = $_POST["haslo"];
login='$login' and haslo='$haslo' and status=0");
echo '<span class="1">Nie aktywowałeś jeszcze konta</span>';
}
login='$login' and haslo='$haslo' and status=1");
$_SESSION["login"] = $info["login"];
$_SESSION["imie"] = $info["imie"];
$_SESSION["nazwisko"] = $info["nazwisko"];
$_SESSION["image"] = $info["image"];
$last_login = date('YmdHis');
header('Location: index.php '); } else {
echo '<span class="2">Zostały wprowadzone złe dane!</span>'; }
}
<form class="form" action="logowaniee.php" method="post">
<input type="hidden" name="wyslane" value="TRUE" />
<p>
<div class="label"><label for="login"><font color="#000000">Login</font></label></div>
<font color="#000000">
<input type="text" name="login" id="login" />
</font>
<p>
<div class="label"><label for="haslo"><font color="#000000">Hasło</font></label></div>
<font color="#000000">
<input type="password" name="haslo" id="haslo" />
</font>
<p class="submit2">
<font color="#000000">
<input type="submit" value="Zaloguj mnie" />
</font>
</p>
<p class="przypomnij">
<a href="przypomnieniee.php"><font color="#000000">Nie pamietasz hasła?</font></a>
</p>
</form>
KONIEC;
} else {
header('Location: index.php'); }
if ($_GET["wylogowanie"] == "tak") {
header('Location: index.php'); }
?>
</div>
<p><br>
Znalazłem na internecie taką pomoc, w podobnej sprawie:
do formularza dodałem:
<input type="checkbox" name="autologin" value="1">
a do pliku
<?php
$suma_kontrolna=$_SESSION['login'].'_'.md5($_SESSION['login'].'!Q@W#E$R%T^Y&'); if(isset($_POST['autologin'])) setcookie('autologin',$suma_kontrolna,time()+3600
*24
*14
); // 14 dni ?>
<?php
if(isset($_COOKIE['autologin'])) { $tab=explode('_',$_COOKIE['autologin']); $suma_kontrolna=$tab[0].'_'.md5($tab[0].'!Q@W#E$R%T^Y&'); if($suma_kontrolna==$_COOKIE['autologin']) $_SESSION['login']=$tab[0]; // Automatyczne logowanie
}
?>
Po zalogowaniu (przy zaznaczeniu autologowania) - loguje się ok. Naciskam wyloguj. I teraz najważniejsze. Klikam w logowanie i automatycznie mnie loguje,czyli to o co mi chodziło, ale niestety nie jako dany użytkownik, tylko po prostu loguje.
Ponawiam prośbę o pomoc...