Klaar mysql php-autorisatiesysteem. Het creëren van een eenvoudig gebruikersregistratiesysteem in PHP en MySQL

Ik breng een zeer eenvoudig en functioneel script onder uw aandacht voor registratie en autorisatie op de site, dat uit 3 bestaat PHP-bestanden met aansluiting van 2 Java-scripts, met behulp waarvan fouten in het formulier zelf worden weergegeven zonder de pagina opnieuw te laden.

Het script is met succes getest PHP-versies 5.3.3 en PHP 5.6.3

Wat het script kan en heeft

  • Registreer nieuwe gebruikers;
  • Gebruikers autoriseren en cookies registreren voor een bepaalde periode (u hoeft niet elke keer in te loggen);
  • Bepaalde informatie tonen en verbergen voor respectievelijk geautoriseerde en ongeautoriseerde gebruikers;
  • Heeft een ADMIN PANEL waar u alle gegevens kunt bewerken en gebruikers kunt verwijderen.

DEMO- en beheerderspanelen zijn er ook

STAP 1.
Als u het lokale registratie- en autorisatiescript gebruikt met DENWER, hoeft u geen wijzigingen aan te brengen in de bestanden om verbinding te maken met de database.
Open anders de bestanden: stayt.php, klassen/Auth.class.php en adminka/connect.php, en vervang helemaal bovenaan de gegevens voor verbinding met de database door die van u.

STAP 2.
Ga (als je DENWER gebruikt) naar het adres: http://localhost/Tools/phpmyadmin/, als je op hosting zit, klik dan op Databases en maak nieuwe basis met naam: registreren en vergelijking: utf8_general_ci .
U kunt uiteraard uw naam instellen, maar zorg er dan voor dat u deze vervangt in de bestanden om verbinding te maken met de database (zie stap 1).

STAP 3.
Klik op de aangemaakte registerdatabase en vervolgens op het bovenste tabblad SQL en plak in het invoervenster dat verschijnt deze code en klik op OK.

MAAK TABEL INDIEN NIET BESTAAT `my_users` (`id` int(11) NIET NUL AUTO_INCREMENT, `gebruikersnaam` varchar(255) NIET NULL, `names` varchar(15) NIET NULL, `wachtwoord` varchar(255) NIET NULL, `salt` varchar(100) NIET NULL, PRIMAIRE SLEUTEL (`id`)) ENGINE=MijnISAM STANDAARD CHARSET=utf8;

Alle! Ga naar uw adres in de browser, probeer en experimenteer.

Beheerderspaneel

Nadat u minimaal één registratie heeft voltooid, kunt u naar het ADMIN-gedeelte gaan.
Log in op het ADMIN-PANEEL:

Http://uw_site.ru/adminka/

Vergeet niet deze map te beveiligen en u kunt deze ook hernoemen.
Wanneer u het beheerdersdashboard opent, klikt u op de knop ZOEKEN en alle geregistreerde gebruikers worden weergegeven, waar u op klikt specifiek nummer ID, u ziet gebruikersgegevens die u kunt bewerken.

U kunt een gebruiker ook snel vinden via zijn e-mailadres; u hoeft alleen maar een bekende naam in het veld ZOEKEN in te voeren e-mail en druk op de knop.
Ik raad het gebruik van de knop TOEVOEGEN af, omdat de gebruiker zonder wachtwoord aan het systeem wordt toegevoegd. En ik heb geen idee waarom ze het überhaupt hebben gemaakt.

Dat is alles, als het niet lukt of niet duidelijk is, stel dan vragen.


Tegelijkertijd kunt u proberen informatie (producten) te verkopen.

Instructies

Laten we de eenvoudigste manier organiseren om pagina's te beschermen tegen ongeautoriseerde bezoekers. De drager van informatie over of de bezoeker dat zal zijn. Een sessie is een analoog van een cookie in een browser, met het enige verschil dat ze niet door ons worden aangemaakt, maar op de server. En ze worden voor hetzelfde gebruikt als waarvoor cookies worden gebruikt: opslag. diverse informatie over ons terwijl we naar de pagina van een site gaan. Wanneer we de browser sluiten, vernietigt de server deze sessie en de volgende keer dat we inloggen, wordt er een nieuwe gemaakt. Dit servermechanisme We gebruiken het om tijdens de sessie vast te leggen of de gebruiker al is ingelogd of niet. Door deze informatie te lezen, zal het PHP-script, wanneer een bezoeker een pagina opvraagt, toegang geven tot met een wachtwoord beveiligde pagina's of u vragen een gebruikersnaam en wachtwoord in te voeren.

Stap 1: Maak een pagina voor het invoeren van login en . HTML-code van het machtigingsformulier zelf eenvoudige versie zou er zo uit kunnen zien:

Login:

Wachtwoord:


Hier (helemaal aan het begin van het bestand) voegen we een PHP-code toe die de juistheid van de door de bezoeker ingevoerde gebruikersnaam en wachtwoord controleert. In het begin schrijven we:
sessie_start();
Met dit commando wordt een nieuwe sessie gestart als er nog geen sessie voor deze bezoeker is aangemaakt.
Vervolgens zullen we controleren of de sessie een variabele heeft met de naam "userName" - deze zal de naam opslaan als de bezoeker al geautoriseerd is. Als een dergelijke variabele bestaat, zullen we de bezoeker ernaar doorverwijzen startpagina(index.php) en voltooi het uitvoeren van dit php-script:
if($_SESSION["gebruikersnaam"])(

}
Alle andere code wordt alleen uitgevoerd als de gebruiker nog niet heeft ingevoerd juiste login en wachtwoord. Laten we aangeven welke login en wachtwoord als correct moeten worden beschouwd:
$validName = "Ik ben van mij!";


Vervolgens controleren wij of de waarden die vanuit het formulier worden verzonden, correct zijn. Omdat we de overdrachtsmethode in het formulier hebben aangegeven POST-gegevens, dan moeten ze worden gelezen uit de superglobale variabele $_POST:

Header("Locatie: index.php");

}
Hier is de code binnen krullende beugels() wordt uitgevoerd als de login en het wachtwoord correct zijn. In de regel $_SESSION["userName"] = $validName; We schrijven een variabele in de sessie met de naam "userName" met daarin de login van de nu geautoriseerde gebruiker. Dit zal een markering zijn die aangeeft dat hij overal toegang heeft zolang zijn huidige sessie geldig is.
En als er onjuiste gegevens in het formulier worden ingevuld, voegen we het bijbehorende bericht toe:
anders echo "
Login of wachtwoord is onjuist!
";
Alle code die moet worden opgeslagen in een bestand met de naam login.php ziet er als volgt uit: