Skip to content

Instantly share code, notes, and snippets.

View Albert221's full-sized avatar
💻

Albert Wolszon Albert221

💻
View GitHub Profile
@Albert221
Albert221 / DogController.php
Last active November 6, 2016 14:15
Validator concept
<?php
namespace App\Controller;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
class DogController extends BaseController
{
// (...)

.blAPI

Simple but powerful blogging platform aimed at frontend developers.

Features

  • Simple and user-friendly WYSIWYG editor
  • Multiple categories and tags
  • Pages
  • Easy import/export backup (drag 'n drop, wait, done)
<?php
namespace Albert221\LennyMemes\Entity;
use Doctrine\Common\Collections\ArrayCollection;
/** @Entity(repositoryClass="Albert221\LennyMemes\Repository\Database\MemeRepository") @Table(name="memes") */
class Meme
{
/** @Id @Column(type="integer") @GeneratedValue */

Diskuto features

  • Customizable sidebar - adding different panels, changing its order.
  • Ranks system - admin, mod and user. Custom ranks.
  • Permissions
    • Forum-specific - global and for each forum and its childs separately.
      • can see
      • can read
      • can reply
  • can create thread
1. Bierzemy dane z formularza i je przypisujemy do zmiennych
2. Escape'ujemy je, żeby ochronić się przed SQL Injection (najlepiej to zrobić dzięki prepared statements)
3. Pobieramyz bazy dane zarejestrowanego już użytkownika na podstawie emaila czy loginu (w bazie jest oczywiście ZAKODOWANE, NIEMOŻLIWE do odkodowania hasło)
4. Kodujemy hasło z formularza tą samą metodą co to zapisane w bazie
5. Porównujemy oba zakodowane hasła. Jak są te same - idziemy dalej. Jak nie, wyświetlamy błąd, złe dane.
6. Zapisujemy w zmiennej sesyjnej ID użytkownika
7. Zalogowany!
Jak sprawdzić czy ktoś jest zalogowany?
1. Sprawdzamy czy istnieje zmienna sesyjna z ID