Curs PHP-MySQL


Script Utilizatori - Inregistrare si Autentificare / Logare

Download - Nr. descarcari - 496          


Acesta este un Script de inregistrare si autentificare (logare) utilizatori intr-un site web, este creat prin metoda cu clase si obiecte (OOP). Foloseste PHP, MySQL si Ajax / JavaScript (cu jQuery, functioneaza si pe navigatoare web care au neactivat JavaScript). Codul HTML e valid HTML5, functioneaza si pe versiuni de Internet Explorer care nu suporta HTML5. Conectarea la MySQL se face cu PHP PDO.
Administratorul poate sa dezactiveze (banare) sau sa stearga utilizatorii, sa modifice date din pagina lor, sa adauge /stearga mesaje si link-uri favorite, si sa schimbe Rangul.
Scriptul poate fi usor folosit in alte limbi, prin traducerea textelor dintr-un singur fisier.

Include buton "Tine minte" care da posibilitatea utilizatorilor sa fie autentificati automat la urmatoarea vizita.
Daca numele sau parola au fost uitate, scriptul ofera posibilitatea recuperarii acestora prin trimiterea lor la adresa de email care a fost folosita la inregistrare.
Implicit, scriptul este setat ca imediat dupa inregistrare sa trimita un mesaj cu un link de confirmare la adresa de e-mail inscrisa, dar, daca doriti fara confirmare, se poate schimba foarte usor setarea ca utilizatorul sa se poata autentifica imediat dupa inregistrare.
Script-ul poate sa trimita email-urile prin serverul local de email (cu functia mail()), sau prin SMTP cu un cont de GMail, cu clasa PHPMailer.
Fiecare utilizator are o pagina personala in care sunt afisate: o imagine ce poate fi adaugata prin Upload (la clic pe ea va fi afisata in fereastra intreaga), Data inregistrarii, Data ultimei vizite /logari, Numar vizite, si alte date personale pe care utilizatorul le poate adauga (nume, adresa de contact, web site, ocupatie, hobbi).
In pagina personala, utilizatorul poate primi mesaje de la alti utilizatori (cu notificare prin email), si poate adauga o lista cu maxim 12 link-uri favorite.
Utilizatorul logat isi poate schimba din pagina personala parola si adresa de e-mail folosita la inregistrare, dupa care va primi un e-mail cu noile date; de asemenea, poate sa stearga mesajele primite.
Mesajele sunt paginate, pot fi adaugate smiles, o imagine (afisata in fereastra intreaga cand se apasa clic pe ea), textul poate fi formatat cu Bold, Italic, Underline (cu BBCODE).
Utilizatorul care adauga mesajul poate selecta optiunea de a primi notificare prin email cand sunt adaugate mesaje noi.
Script-ul afiseaza numar total de utilizatori, ultimul utilizator inregistrat si pe cei Online (actualizati cu Ajax) cu link catre pagina lor. In plus, contine o pagina cu un tabel in care sunt afisati toti utilizatorii inregistrati (cu paginare), ce pot fi selectati dupa Nume, Data inregistrare, Ultima logare, Nr. vizitari si Rang.


- Acest script e in doua versiuni: Simpla si Avansata.

Script Inregistrare /Logare Utilizatori - Avansat

Versiunea avansata foloseste PHP PDO pentru efectuarea instructiunilor SQL, are functii pt, Administrator.
• Il puteti descarca de la link-ul Download de mai sus.

- Pentru a vedea pagina personala a unui utilizator accesata de vizitator, clic Pagina Utilizator.
- Ca sa testati pagina personala cand utilizatorul e autentificat, clic Utilizator Autentificat.
- Ca sa testati pagina unui utilizator accesata de Administrator, clic Accesare Admin.

Script Inregistrare /Logare Utilizatori - Simplu

• Il puteti descarca de aici, click: Script Inregistrare /Logare - Simplu

- Versiunea Simpla foloseste PHP MySQLi pentru efectuarea instructiunilor SQL. Nu are functii pt. Administrator, nici clasa PHPMailer.
- Pentru a vedea pagina personala a unui utilizator accesata de vizitator, clic Pagina Utilizator.
- Ca sa testati pagina personala cand utilizatorul e autentificat, clic Utilizator Autentificat.

Elemente de securitate

- Scriptul contine mai multe elemente de protectie, atat la inregistrare cat si la autentificare:
  • Protectie anti-spamm la inregistrare, recuperare nume /parola si adaugare mesaje.
  • Nu se pot crea doua conturi cu acelasi nume sau e-mail.
  • Se poate inregistra un singur cont de pe acelasi IP sau calculator (daca e acelasi browser).
  • Nu se pot autentifica doi vizitatori in acelasi timp, cu acelasi nume. Daca se logheaza doi folosind acelasi nume, primul va fi intrerupt, cu LogOut si mesaj ca se poate re-loga.
  • Fiecare utilizator are o coloana "Rang" in baza de date, a carei valoare (un numar) e retinuta in Sesiune si se pot afisa pagini din site in functie de rangul fiecaruia.
  • Forma adresei de e-mail si numarul de caractere minim (si maxim) introduse in casetele formularelor sunt validate atat pe partea de client (cu JavaScript) cat si pe server (cu PHP).
  • Sunt permise maxim 4 incercari de autentificare nereusite (cu parola sau nume incorecte) dupa care vizitatorul poate incerca o noua autentificare dupa 10 minute. Aceasta este o protectie impotriva boti-lor care incearca mai multe parole.
  • Administratorul principal (primul) nu poate fi sters, nici Rangul lui modificat.

Comentariile din codul scriptului (la versiunea Avansat) sunt in limba engleza.
- Instructiuni de folosire, structura scriptului (tabele, fisiere si rolul lor) si alte detalii gasiti in fisierul "Citeste.html" din arhiva, pe care o puteti descarca de la link-ul "Download" de mai sus.


• Modul prin care se poate determina afisarea in site a unui continut daca utilizatorul este autentificat si alt continut daca nu e autentificat:
  • Se poate face prin verificarea existentei variabilei $_SESSION['username'].
    <?php
    if(isset($_SESSION['username'])) {
      echo 'Executa un cod daca utilizatorul este autentificat';
    }
    else {
      echo 'Adauga alt cod pt. neautentificati';
    }
    ?>
    

• Modul prin care se poate determina afisarea in site a unui continut in functie de rangul utilizatorului.
  • Se poate face prin verificarea valorii variabilei $_SESSION['rank'].
    <?php
    if(isset($_SESSION['rank']) && $_SESSION['rank']>2) {
      echo 'Date afisate /incluse pt. utilizatori cu rang mai mare decat 2.';
    }
    else if(isset($_SESSION['rank']) && $_SESSION['rank']==2) {
      echo 'Continut afisat /inclus pt. utilizatori cu rang 2.';
    }
    else {
      echo 'Date afisate /incluse pt vizitatori si utilizatori autentificati, cu rang 1.';
    }
    ?>
    

- Scriptul e gratuit, nu se acorda suport sau modificari personale. Daca aveti intrebari sau probleme /erori , postati pe Forum.

Este testat cu succes pentru o configuratie generala pe localhost, cu XAMPP si pe serverele site-urilor www.marplo.net si www.courses.net; daca pe alte sisteme nu functioneaza corect, depinde si de configuratia acestora. Pot sa apara probleme in special la hosting-urile gratuite, pe partea de "SESSION", din cauza restrictiilor impuse de ei, sau daca nu au si functiile PDO.


Lectii / Tutoriale

Diverse PHP

Scripturi

  • PHP Script Chat
  • CMS Blog cu Ajax
  • Script Upload
  • Uploader
  • Multi-Uploader
  • Contoar pagina
  • Contor 2
  • Contoar click-uri
  • Contor Downloads
  • Numar Vizitatori si Utilizatori Online
  • Script inregistrare
  • Inregistrare Utilizatori
  • Curs valutar
  • Curs valutar 2
  • Mailer
  • Formular contact
  • Script comentarii
  • Script comentarii 2
  • Script comentarii 3
  • Vizitatori online
  • Script Paginare
  • Clasa Paginare
  • Script Page Rank
  • Script Chat
  • Numarare cuvinte
  • Recomanda pagina
  • Sistem notare
  • Countdown timer
  • Mini_Trafic Site
  • Subiecte forum
  • Clasa cautare Google
Script Utilizatori - Inregistrare si Autentificare / Logare
2008 - 2012 Webmaster, Webdesigner : MarPlo