Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/MYSQL] Nazwa zalgowanego usera., Logowanie na sesjach.
yayco
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 22.01.2008

Ostrzeżenie: (0%)
-----


Witam, stworzyłem sobie banalny skrypt i logowania. Jest on oparty na sesjach.
Dane z rejestracji sa zapisywane w bazie MYSQL.
Jak zrobic ze po zalogowaniu user bedzie widział "Witaj: NazwaZalogowanegoUzytkownika".

To jest formularz logowania:

Kod
<?php
session_start();
session_register("zalogowany");

if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;


//łaczenie z bazą

function ShowLogin($komunikat=""){
    echo "$komunikat<br>";
    echo "<form action='index.php' method=post>";
    echo "Login: <input type=text name=login><br>";
    echo "Hasło: <input type=text name=haslo><br>";
    echo "<input type=submit value='Zaloguj!'>";
    echo "</form>";
    echo "Jeśli nie jesteś zarejestrowany, <a href='index.php?show=rejestruj'>tu znajdziesz formularz</a>";
}

?>

<?php
if($_GET["awyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
if($_SESSION["zalogowany"]!=1){
    if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
        if(mysql_num_rows(mysql_query("select * from user where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
            echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
            $_SESSION["zalogowany"]=1;
            }
        else echo ShowLogin("Podano złe dane!!!");
        }
    else ShowLogin();
}
else{
?>
Gratulacje! Zalogowałeś się pomyślnie!
<br><a href='index.php?wyloguj=tak'>wyloguj się</a>
<?php
}
?>

</body>
</html>
<?php mysql_close(); ?>


A to sesja z strony wymagajacej logowania

Kod
<?php
session_start();
?>

<?php
if($_SESSION["zalogowany"]==0){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();}
?>


Ten post edytował yayco 24.01.2008, 13:41:04
Go to the top of the page
+Quote Post
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Dodaj sobie zmienną do sesji, np. $_SESSION['nazwa_uzytkownika'] = $_POST["login"];


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
bartg
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Według mnie najlepiej do sesji ustawić id usera. Jeśli sesja istnieje jest zalogowany, jeśli potrzebujesz jakiekolwiek dane o nim ściągasz je z bazy.


--------------------
Go to the top of the page
+Quote Post
yayco
post
Post #4





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 22.01.2008

Ostrzeżenie: (0%)
-----


@kszychu

Twoj pomysł by mi odpowiadał, tylko ze cos mi nie chce wychodzić

Dodaje



Kod
$_SESSION['nazwa_uzytkownika'] = $_POST["login"];
echo 'Witaj'.$_SESSION['nazwa_uzytkownika'].'.';


I nic, jedem początkujacy jakby co :/

Czy ktos mi może pomuć? ;/
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@bartg po to jest sesja by po podstawowe rzeczy usera nie biegac za kazdym razem do bazy.

@yayco skoro nic ci nie wypisal to $_POST['login'] jest puste lub nie istnieje. Masz to przypisanie zrobic tylko raz, po wypelnieniu formularza logowania.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
yayco
post
Post #6





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 22.01.2008

Ostrzeżenie: (0%)
-----


Dzięki juz działa. winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:42