Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: PHP i SQL: Personalizacja i logowanie użytkowników
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > PHP i SQL: Personalizacja i logowanie użytkowników
Technologie webowe

PHP i SQL: Personalizacja i logowanie użytkowników

WebInside.pl
Ostatnia aktualizacja: 25.07.2003
WebInside.pl
Udostępnij
Udostępnij

Personalizacja jest to inaczej rozpoznawanie użytkownika. Pojęcie personalizacji związane jest ściśle z logowaniem. Logowanie umożliwia dostęp do strony zabezpieczonej, po podaniu właściwego loginu i hasła.
Logowanie użytkowników oparte będzie na

cookies oraz bazie danych MySQL, dane będą sprawdzane za pomocą JavaScript’u. Na początku musimy stworzyć formularz do logowania oraz ściśle tajną stronę. Zalogowanie będzie możliwe tylko na 1 godzinę a hasła zostaną zaszyfrowane. Do dzieła!

Na początku musimy stworzyć formularz do logowania:

Tak jak większość stron WWW, tak i nasza musi być stworzona zgodnie z regułami. Na samym początku otwórz dowolny edytor HTML, np. Notatnik i zpapisz dokument jako login.html. Teraz postępuj zgodnie z zaleceniami.
Najpierw musisz zdefiniować nagłówki dokumentu HTML:

<HTML>
<HEAD>
<TITLE>Logowanie i personalizacja użytkowników </TITLE>

Ponieważ będziemy korzystać z funkcji napisanych w języku JavaScript musimy je zdefiniować w sekcji nagłówkowej naszego dokumentu. Znajomość JavaScript nie jest wymagana, ale jeśli interesuje Cię dogłębna budowa tych funkcji to zapoznaj się z odpowiednim działem.

<SCRIPT LANGUAGE=”JavaScript” TYPE=”text/javascript”>
<!– Funkcja kolorująca //–>
function koloruj(omega, colorek){
omega.style.color = colorek; <!– Zastosowanie koloru czcionki //–>
}

<!– Funkcja sprawdzająca wpisanie pseudonimu //–>

function pseudo(){
var alpha = document.all.pseudo; <!– Pobranie obiektu do zastosowania czcionki //–>
var ceta = document.loguj.nick.value; <!– Pobranie nicku z formularza //–>
var slowo;
if(ceta == „”){
koloruj(alpha, '#FF0000′);
slowo =”Musisz wpisać pseudonim!\n”
}
else{
koloruj(alpha, '#000000′);
slowo = „”;
}
return slowo;
}

<!– Funkcja sprawdzająca wpisanie hasła //–>

function pass(){
var alpha = document.all.haslo; <!– Pobranie obiektu do zastosowania czcionki //–>
var ceta = document.loguj.pass.value; <!– Pobranie hasła z formularza //–>
var slowo;
if(ceta == „”){
koloruj(alpha, '#FF0000′);
slowo =”Musisz podać hasło!\n”
}
else{
koloruj(alpha, '#000000′);
slowo = „”;
}
return slowo;
}

<!– Główna funkcja sprawdzająca //–>

function sprawdz() {
var slowo = „”;
slowo +=pseudo();
slowo +=pass();
if(slowo == „”){
document.loguj.submit(); <!– Jeżeli wszystko gra wysyłamy formularz //–>
}
else{
alert(slowo); <!– Wyświetlamy informacje o błędach //–>
}
}
</SCRIPT>
</HEAD>

Skoro zakończyłeś już wypisywanie funkcji JavaScript i zamknąłeś sekcję nagłówkową dokumentu, to możemy przystąpić do zaprojektowania bodowy frmularza. Pamiętaj jednak, że na początku musisz otworzyć sekcje tzw. ciała dokumentu, czyli:

<BODY BGCOLOR=#0066FF>

Teraz zajmiemy się samym formularzem:

<!– Tworzymy formularz do logowania //–>
<FORM NAME=”loguj” METHOD=POST ACTION=”login.php”>

Zapewne zauważyłeś, że przy tworzeniu naszego formularza wykorzystaliśmy trzy różne atrybuty. Pierwszy z nich to name – przydatny przy stosowaniu JavaScript, definiuje nazwę formularza, na którym będziemy operować. Drugim atrybutem jest method czyli metoda, jaką będziemy wysyłać dane. Ponieważ nie chcemy aby podane dane były widoczne w adresie strony, nadajemy mu wartość post. Trzecim i ostatnim tu atrybutem jest action, czyli adres pliku, za pomocą którego będziemy logować się do tajnej strony. Teraz przejdźmy do opisu poszczególnych elementów formularza (zauważ, że wielokrotnie będę używał znaczników HTML, ale nie będę ich opisywał):

<TABLE WIDTH=50% BORDER=1 CELLSPACING=0 CELLPADDING=0 BORDERCOLOR=#000000 BGCOLOR=#FFCC00>
<TR><TD COLSPAN=2 WIDTH=100%><B>Logowanie użytkownika</B></TD></TR>
<TR><TD ID=”pseudo” WIDTH=25%><B>Login:</B></TD><TD><INPUT TYPE=TEXT NAME=”nick” maxlength=25></TD></TR>
<TR><TD ID=”haslo'”><B>Hasło:</B></TD><TD><INPUT TYPE=PASSWORD NAME=”pass” maxlength=25></TD></TR>
<TR><TD COLSPAN=2><INPUT TYPE=BUTTON VALUE=”Zaloguj” onClick=”sprawdz();”></TD></TR>
</TABLE>
</FORM>

Od teraz po wysłaniu formularza nasz login będzie przechowywany w zmiennej $nick, a hasło w zmiennej $pass. Po zapisaniu treści formularza możesz zamknąć wszystkie znaczniki HTML i przystąpić do następnego punktu.

</BODY>
</HTML>

Mamy już gotowy dokument z formularzem, a zatem przejdźmy do budowy samego skryptu PHP i konstrukcji bazy danych MySQL.
Aby użytkownik mógł się zalogować musimy przechowywać gdzieś dane o nim. Do tego posłuży nam baza danych MySQL.
Wykonujemy poniższe zapytanie SQL:

CREATE DATABASE login;

Tym niewielkim fragmentem kodu utworzyliśmy nową bazę danych.

CREATE TABLE login_user(
id INT(9) auto_increment,
login VARCHAR(25),
pass VARCHAr(255),
PRIMARY KEY(id)
);

W powyższym zapytaniu utworzyliśmy tabelę w której będziemy przechowywać login użytkownika oraz hasło. Kolumna id jest kolumną porządkową, która sama przyznaje sobie wartość.
Żeby utworzyć nowego użytkownika musimy wykonać poniższy kod SQL:

INSERT INTO VALUES(0, ‘Webinside’, ‘53f0105c40bb46e2f953a6b59bd891c0’);

Następnie otwieramy edytor www i wpisujemy kod który uwierzytelni userów:

$dbhost = „localhost”;
$dbuser = „root”;
$dbpass = „pass”;

Za pomocą tych trzech zmiennych ustalamy jak PHP ma się połączyć z bazą danych.
Zmienna $dbhost określa host bazy. Natomiast dwie pozostałe określają użytkownika i hasło bazy danych.

$link = @mysql_pconnect($dbhost, $dbuser, $dbpass);
$wp = @mysql_select_db(„baza”, $link);

Powyższymi poleceniami połączyliśmy się do serwera baz danych i wybraliśmy odpowiednią bazę.

if(!$link || !$wp){
echo”Logowanie tymczasowo niemożliwe!!!<BR>”;
}

Jeżeli nie możemy nawiązać połączenia z bazą musimy o tym poinformować użytkownika.

else{
$cpass=md5($pass);

Polecenie md5 służy do zaszyfrowania hasła.

$sql = „SELECT * FROM login_user WHERE login=’$nick’ AND pass=’$cpass'”;
$wynik = mysql_query($sql);
$data = mysql_fetch_array($wynik);
if(!$wynik || $nick!=$data[login] || $cpass!=$data[pass]){

Jeżeli dane się nie zgadzają wyświetlamy błąd

echo”Logowanie nieprawidłowe!!!<A HREF=\”login.html\”>Jeszcze raz</A>”;
}else{

Jeżeli użytkownik podał poprawne dane to ustawiamy dla niego cookie.

$cookie = base64_encode(„$nick|$cpass”);

Kodujemy dane użytkownika za pomocą powyższej funkcji.

setcookie(„user”, $cookie, time()+3600);
echo”Przejdź do <A HREF=\”tajna.php\”>tajnej strony</A>”;
}
}
?>

Jeśli wszystko zrobiliśmy zapisujemy plik pod nazwą login.php
Otwieramy ponownie edytor i wpisujemy:

if($_COOKIE[user]){

Sprawdzamy czy użytkownik jest zalogowany, jeśli tak to wyświetlamy komunikat, że dostał się do strefy chronionej.

echo”Dostałeś się do strefy chronionej<BR>”;
$cookie = base64_decode($_COOKIE[user]);

Odszyfrowujemy informacje o użytkowniku.

$data = explode(„|”, $cookie);
echo”Twój nick: $data[0] <BR> Twoje hasło: $data[1]<BR>”;
echo”<A HREF=\”logout.php\”>Wyloguj</A>”;
}else{
echo”Przykro nam dostęp tylko dla zalogowanych”;
}
?>

Zapisujemy plik pod nazwą tajna.php
W edytorze wpisujemy kod który będzie kasował cookie.

setcookie(„user”,””);
echo”Zostałeś wylogowany”;
?>

i zapisujemy to pod nazwą logout.php
Teraz możemy zalogować się do systemu wpisując w polu login: Webinside, a w haśle: Krzasz. Spróbujmy nie wypełnić pól i wysłać formularz.

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2003-07-25 2003-07-25
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Nieco egzotyczne elementy CSS
Następny artykuł Licznik graficzny w PHP
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?