Egzamin E.14 - PHP (Łączenie strony HTML z bazą danych MySQL)

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 46

  • @PatrykPaluch
    @PatrykPaluch  3 года назад

    Jeżeli masz jakiś problem z rzeczami omawianymi na filmie zapraszam cie do komentowania lub nawet lepiej, możesz zapytać na serwerze Discord by otrzymać rozbudowaną i wyczerpującą odpowiedź, mamy tam specjalny kanał do rozwiązywania dowolnych problemów z dziedziny informatyki i nie tylko! Bardzo pomocna społeczność szybko radzi sobie z każdym problem, zapraszam ;D
    discord.gg/yBh9ykS

    • @marceli1972
      @marceli1972 3 года назад

      W jaki sposób poza tym co Pan podał można z Panem się skontaktować?

    • @PatrykPaluch
      @PatrykPaluch  3 года назад

      @@marceli1972 darujmy sobie tego "Pana" ;) Tutaj czyli w sekcji komentarzy YT oraz server Discord to jedyne sposoby na skuteczny kontakt ze mną. Jeszcze tylko dodam że bardzo dawno nie miałem do czynienia z php i nie znam jego aktualnych standardów. Ale jak masz jakieś pytanie to postaram się pomóc ;)

    • @marceli1972
      @marceli1972 3 года назад

      @@PatrykPaluch Chciałem zaproponować Panu małe zlecenie. Oczywiście jeśli to zainteresuje Pana i jeśli dogadalibyśmy się co chodzi o honorarium.

    • @PatrykPaluch
      @PatrykPaluch  3 года назад

      @@marceli1972 dziękuję, ale nie jestem zainteresowany

  • @michahauszczak5019
    @michahauszczak5019 2 года назад +1

    super poradnik, dziękuje!!!!!!!!!!!!!

  • @stawarek605
    @stawarek605 5 лет назад +2

    Bardzo pomocny filmik

  • @stefandrugi33
    @stefandrugi33 2 года назад +1

    Bardzo pomocne

  • @inx1819
    @inx1819 3 года назад +3

    pog

  • @Kuba-dt4wc
    @Kuba-dt4wc 3 года назад +1

    Dziękuję!:)

  • @asdferfe3767
    @asdferfe3767 5 лет назад +1

    dzięki działa

  • @antonisowaa8121
    @antonisowaa8121 2 года назад

    W jaki sposób wyświetlić tablicę ale w innej sekcji strony?

  • @lazaruswhippety5627
    @lazaruswhippety5627 5 лет назад

    od jakiegoś czasu szukam podpowiedzi jak automatycznie zapełnić formularz php po wypełnieniu 1 pola. Tak, żeby po wpisaniu np numeru rejestracyjnego wskakiwały wszystkie pola z bazy danych Mysql czy bazy danych w Excelu.

    • @PatrykPaluch
      @PatrykPaluch  5 лет назад +2

      nie możesz czegoś takiego zrobić w PHP. Jest to język działający po stronie serwera, czyli w momencie w którym przeglądarka zaczyna wyświetlać stronę, to kod PHP nie może już być wykonywany. Dopiero odświeżenie strony lub wysłanie zapytania do serwera może uruchomić kolejne wykonanie kodu. Jeżeli chcesz zrobić coś pokroju auto uzupełniania musisz użyć JavaScript w kodzie strony. A jeżeli na siłę chcesz PHP to musi być formularz w którym wpisuje się to jedno pole i się go wysyła po czym ładuje się nowa strona gdzie PHP już dodał dane.

    • @lazaruswhippety5627
      @lazaruswhippety5627 5 лет назад

      mocno skomplikowane . Dziękuję za odpowiedz będę coś innego kombinować spróbuję się przyglądnąć JavaScript.

    • @bartoszgowacki8337
      @bartoszgowacki8337 Год назад

      @@lazaruswhippety5627 mam nadzieje ze sie zapoznales z PHP/AJAX

  • @mexiberis9759
    @mexiberis9759 4 года назад

    Po mimo że zrobiłam wszystko tak samo to mi nie zapisuje danych wysyłanych przez formularz do bazy.

  • @66sebolek
    @66sebolek Год назад

    Jak utworzyć hasło dla admina, a jak dla reszty i nadać im uprawnienia?

  • @aryofervolazin9274
    @aryofervolazin9274 4 года назад

    dlaczego we wszystkich kursach jest by wpisywac po prostu SELECT * FROM ?? tylko tutaj znalazlem jak to pownno byc -- czyli ze np trzeba mysqli

    • @PatrykPaluch
      @PatrykPaluch  4 года назад

      "SELECT * FROM tabela" Oznacza "wybierz wszystko z tabela" gdzie właśnie ta "*" oznacza wszystko. Zamiast niej można wymienić różne kolumny po przecinku np. "SELECT id,tytul,tres FROM ogloszenie" wtedy w wyniku będą tylko te pola które zostały wymienione czyli zrobienie czegoś pokroju "$kategoria = $wiersz['kategoria']" było by błędem ponieważ w zapytaniu nie została uwzględniona kolumna "kategoria". Oczywiście zapytania SQL mogą być dużo bardziej złożone ale SQL nie jest częścią PHP więc i nie było to tutaj dokładnie omówione. Jeżeli chcesz wiedzieć więcej o tych zapytaniach to poszukaj w kursach do MySQL (czy czasem do MariaDB), bardzo prawdopodobne że w tych kursach nie zobaczysz ani jednej linijki w PHP.

  • @dariusz8005
    @dariusz8005 4 года назад

    Mam pytanko. Jak wyłączyć automatyczne ładowanie rekordu (ostatniego wpisu) po odświeżeniu strony ?

    • @PatrykPaluch
      @PatrykPaluch  4 года назад

      Każdorazowe odświeżenie strony zmusza przeglądarkę do wysłania zapytania na serwer, a sprawia że serwer musi wykonać cały kod PHP czyli za każdym razem będzie od nowa wszystko robił. Jeżeli był wysłany formularz i odświeżamy stronę to przeglądarka wysyła ponownie formularz (czasem może wyskoczyć okno z zapytaniem).
      Możesz poszukać czegoś o cache'owaniu strony u klienta, wtedy przeglądarka zapamiętuje dane. Można zrobić też całą komunikację przez JavaScript wtedy wszystko co się dzieje po stronie klienta może wpłynąć na wysyłane do serwera zapytania.

    • @dariusz8005
      @dariusz8005 4 года назад

      Chodzi o ciasteczka (taką jakby bazę danych po stronie klienta) ? :)

    • @PatrykPaluch
      @PatrykPaluch  4 года назад

      ​@@dariusz8005 Jest takie coś jak localStorage w JS, może być lepszym wyjściem niż ciasteczka, ale tak, jest to wykonalne. Możesz przechowywać dane u użytkownika, ale pamiętaj że jest to ryzykowne ponieważ użytkownik może w dowolnym momencie wyczyścić dane przeglądarki i jeżeli zależy ci żeby te same dane były na wszystkich urządzeniach użytkownika to musisz sam stworzyć system synchronizacji ich przy logowaniu co sprawia że i tak będzie do tego potrzebna baza danych na serwerze.
      W takim localStorage możesz trzymać informacje które nie są powiązane z użytkownikiem a ze sprzętem. np. na takim YT może to być głośność odtwarzania lub jakość filmu ponieważ zależnie od szybkości łącza czy używanych głośników ktoś może mieć różne preferencje - tak też możliwe że będzie wolał mieć mniejszą jakość na telefonie żeby oszczędzić transfer w sieci, a na komputerze większą. Ale np. historia odtwarzanych filmów już powinna być na serwerze ponieważ ten sam użytkownik raczej ogląda podobne rzeczy na telefonie i komputerze tym samym może chcieć kontynuować oglądanie ulubionej serii na innym urządzeniu.
      Oczywiście

  • @M44T1
    @M44T1 4 года назад

    a jak zrobić dodatkowo sprawdzanie czy dany mail rzeczywiście istnieje ?

    • @PatrykPaluch
      @PatrykPaluch  4 года назад +1

      Możesz sprawdzić czy wpisany tekst ma konstrukcję prawidłową dla email używając `filter_var($email, FILTER_VALIDATE_EMAIL)`, ale nie ma jako tako sposobu by sprawdzić czy takowy mail faktycznie istnieje. Jedyne rozwiązanie to napisać kod który wyśle na podany email link potwierdzający i nie pozwoli się zalogować do momentu potwierdzenia email.
      Taki system to temat na cały odcinek (a ja już się PHP nie zajmuje). W skrócie można to opisać tak:
      -plik rejestracji
      1. Przy rejestracji generujesz unikalny klucz autoryzujący (możesz użyć jakiegoś mechanizmu UUID lub lepiej zadbać o generowanie kluczy bezpiecznych losowo)
      2. Zapisujesz ten klucz razem z email (lub ID usera) do bazy danych. Dane użytkownika umieszczasz w tymczasowej tabeli lub ustawiasz im flagę by zablokować logowanie
      3. Wysyłasz link potwierdzający z wygenerowanym kluczem w GET na podany email
      -plik linku potwierdzającego
      1. Pobierasz klucz z GET
      2. Odszukujesz klucz w bazie oczekujących rejestracji
      3. Po znalezieniu usuwasz flagę lub przenosisz nade z tymczasowej tabeli do faktycznej tabeli userów (zależnie od wcześniej wybranej drogi)
      Tutaj masz link do manuala php z filter_var: www.php.net/manual/en/function.filter-var.php

    • @M44T1
      @M44T1 4 года назад +1

      @@PatrykPaluch dzięki za odpowiedź:)

  • @cichystorczyk4579
    @cichystorczyk4579 4 года назад +1

    Mi się nic nie wyświetla pusta strona ehh przynajmniej wiem że łączy się z baza

  • @ziomeek942
    @ziomeek942 3 года назад

    Co oznacza ten warunek??
    if ( isset ($_POST["tytul"]))

    • @PatrykPaluch
      @PatrykPaluch  3 года назад +1

      "isset" to funkcja sprawdzająca czy przekazana zmienna istnieje.
      "$_POST" to zmienna będąca tablicą przechowującą dane przekazane do serwera metodą POST (protokołu HTTP).
      Wiec całe wyrażenie sprawdza czy metodą POST zostało przekazane pole "tytuł", jeżeli tak to kod po tym warunku zostanie wykonany.
      To jaką metodą (POST/GET) dane trafiają na serwer ustawia się w HTML w

    • @ziomeek942
      @ziomeek942 3 года назад

      @@PatrykPaluch Dzieki :)

  • @maniekxx3177
    @maniekxx3177 5 лет назад

    Czy kodu można używać? Pozmieniałem tam troche i zrobiłem z tego panel administratora dla swojego serwera MTA :P

    • @PatrykPaluch
      @PatrykPaluch  5 лет назад +2

      Oczywiście ;)

    • @maniekxx3177
      @maniekxx3177 5 лет назад

      Dziękuję 😀

    • @notifiernagios7638
      @notifiernagios7638 4 года назад

      Mnie zastanawia jedna rzecz w tym przykładzie, Patrykas1000 piszesz kod strukturalnie.
      natomiast
      " new mysqli"
      "$conn->query"
      $conn->close();
      to są jak najbardziej poprawnie zapisane kody jednak z tego co wiem to dotyczą OOP czyli php obiektowe. Jak to się ma do oceniania przez egzaminatorow?

  • @matieusz100
    @matieusz100 5 лет назад

    z jakiej strony mozna rto zainstalowac ?

    • @PatrykPaluch
      @PatrykPaluch  5 лет назад

      XAMPP z apachefriends

    • @matieusz100
      @matieusz100 5 лет назад

      jaka to jest wersja xampa z tej strony ?
      @@PatrykPaluch

    • @PatrykPaluch
      @PatrykPaluch  5 лет назад

      Nie pamiętam już pobierz najnowszą i powinno wyszukiwania działać

  • @BelmarMotivation
    @BelmarMotivation 4 года назад

    PHP

  • @Bromache
    @Bromache 6 лет назад

    Fajny filmik, pomocny z tym, że jak w formularzu wpisze się imię i nazwisko z polskimi literami czyli np "ą" to w bazie wychodzą krzaczki, jest na to jakiś sposób?

    • @PatrykPaluch
      @PatrykPaluch  6 лет назад

      Dzięki ;) Linia 17 w wys.php (zaraz po $conn = new mysqli...) dopisz $conn->set_charset ("utf8"); powinno pomóc, jeżeli nie to jeszcze sprawdzić czy baza danych, tabela i pole ustawione jest na "utf8_unicode_ci" lub "utf8_polish_ci".

    • @PatrykPaluch
      @PatrykPaluch  6 лет назад

      W linii 19 w zap.php (tak samo jak w wys.php - zaraz po $conn= new mysqli...) też trzeba dopisać $conn->set_charset ("utf8");

    • @Bromache
      @Bromache 6 лет назад

      Już działa, ale trzeba było też w wys.php i zap.php w 4 linijce usunąć myślnik z utf-8 na utf8.
      Wielkie dzięki za pomoc

    • @PatrykPaluch
      @PatrykPaluch  6 лет назад

      spoko ;)

  • @janokruta6282
    @janokruta6282 4 года назад +1

    Tragedia ten poradnik