{"id":376,"date":"2025-09-26T01:13:37","date_gmt":"2025-09-26T01:13:37","guid":{"rendered":"https:\/\/zajecia.tsadowski.pl\/?p=376"},"modified":"2025-09-25T08:04:23","modified_gmt":"2025-09-25T08:04:23","slug":"lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2","status":"publish","type":"post","link":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/","title":{"rendered":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych)"},"content":{"rendered":"<h2>Wst\u0119p<\/h2>\n<p>Do tej pory poznali\u015bmy:<\/p>\n<ul>\n<li>tworzenie formularzy HTML i odbieranie danych w PHP,<\/li>\n<li>walidacj\u0119 p\u00f3l (<code>empty()<\/code>, <code>filter_var()<\/code>),<\/li>\n<li>zabezpieczanie danych (<code>htmlspecialchars()<\/code>),<\/li>\n<li>obs\u0142ug\u0119 checkbox\u00f3w i list rozwijanych,<\/li>\n<li>przesy\u0142anie i odbieranie plik\u00f3w.<\/li>\n<\/ul>\n<p>Dzi\u015b powtarzamy wszystko razem w praktyce.<\/p>\n<hr \/>\n<h2>\u0106wiczenia<\/h2>\n<h3>\u0106wiczenie 1 \u2013 Puste pola<\/h3>\n<p>Stw\u00f3rz formularz z polami: imi\u0119, e-mail.<\/p>\n<ul>\n<li>W PHP sprawd\u017a, czy pola nie s\u0105 puste.<\/li>\n<li>Je\u015bli kt\u00f3re\u015b pole jest puste, wy\u015bwietl komunikat: \u201eWype\u0142nij wszystkie pola\u201d.<\/li>\n<li>Je\u015bli pola s\u0105 uzupe\u0142nione, wy\u015bwietl ich warto\u015bci.<\/li>\n<\/ul>\n<p><em>Wskaz\u00f3wka:<\/em> u\u017cyj <code>empty()<\/code> i <code>htmlspecialchars()<\/code>.<\/p>\n<hr \/>\n<h3>\u0106wiczenie 2 \u2013 Walidacja e-maila<\/h3>\n<p>Dodaj do poprzedniego formularza pole e-mail.<\/p>\n<ul>\n<li>Zabezpiecz pole tak, aby przyjmowa\u0142o tylko poprawne adresy e-mail.<\/li>\n<li>Je\u015bli adres jest b\u0142\u0119dny, wy\u015bwietl komunikat \u201ePodaj poprawny adres e-mail\u201d.<\/li>\n<\/ul>\n<p><em>Wskaz\u00f3wka:<\/em> u\u017cyj <code>filter_var($email, FILTER_VALIDATE_EMAIL)<\/code>.<\/p>\n<hr \/>\n<h3>\u0106wiczenie 3 \u2013 Checkboxy<\/h3>\n<p>Stw\u00f3rz formularz z hobby (checkboxy, np. sport, muzyka, gry).<\/p>\n<ul>\n<li>Po wys\u0142aniu formularza skrypt PHP ma wypisa\u0107 wszystkie zaznaczone opcje.<\/li>\n<li>Je\u015bli nic nie zaznaczono, wy\u015bwietl komunikat: \u201eNie wybra\u0142e\u015b \u017cadnego hobby\u201d.<\/li>\n<\/ul>\n<p><em>Wskaz\u00f3wka:<\/em> dane z checkbox\u00f3w odbieraj jako tablic\u0119: <code>$_POST[&#039;hobby&#039;]<\/code>.<\/p>\n<hr \/>\n<h3>\u0106wiczenie 4 \u2013 Obs\u0142uga plik\u00f3w<\/h3>\n<p>Stw\u00f3rz formularz z mo\u017cliwo\u015bci\u0105 przes\u0142ania pliku (np. zdj\u0119cia).<\/p>\n<ul>\n<li>Skrypt PHP ma sprawdzi\u0107, czy plik zosta\u0142 przes\u0142any.<\/li>\n<li>Je\u015bli tak \u2013 wy\u015bwietl jego nazw\u0119 i jego typ lub rozszerzenie.<\/li>\n<li>Je\u015bli nie \u2013 wy\u015bwietl komunikat \u201eNie przes\u0142ano pliku\u201d.<\/li>\n<\/ul>\n<p><em>Wskaz\u00f3wka:<\/em> u\u017cyj <code>$_FILES<\/code> oraz <code>is_uploaded_file()<\/code>.<\/p>\n<hr \/>\n<h3>\u0106wiczenie 5 \u2013 Podsumowanie<\/h3>\n<p>Po\u0142\u0105cz wszystkie poprzednie elementy w jednym formularzu:<\/p>\n<ul>\n<li>pola tekstowe (imi\u0119, e-mail),<\/li>\n<li>checkboxy (hobby),<\/li>\n<li>przesy\u0142anie pliku.\nW PHP:<\/li>\n<\/ul>\n<ol>\n<li>Sprawd\u017a, czy pola nie s\u0105 puste.<\/li>\n<li>Zweryfikuj adres e-mail za pomoc\u0105 <code>filter_var()<\/code>.<\/li>\n<li>Wypisz zaznaczone hobby.<\/li>\n<li>Sprawd\u017a, czy plik zosta\u0142 przes\u0142any.<\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>Wst\u0119p Do tej pory poznali\u015bmy: tworzenie formularzy HTML i odbieranie danych w PHP, walidacj\u0119 p\u00f3l (empty(), filter_var()), zabezpieczanie danych (htmlspecialchars()), obs\u0142ug\u0119 checkbox\u00f3w i list rozwijanych, przesy\u0142anie i odbieranie plik\u00f3w. Dzi\u015b powtarzamy wszystko razem w praktyce. \u0106wiczenia \u0106wiczenie 1 \u2013 Puste pola Stw\u00f3rz formularz z polami: imi\u0119, e-mail. W PHP sprawd\u017a, czy pola nie s\u0105 puste. [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[57],"class_list":["post-376","post","type-post","status-publish","format-standard","hentry","category-tsiai-4ig1","tag-tsiai-4ig1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski\" \/>\n<meta property=\"og:description\" content=\"Wst\u0119p Do tej pory poznali\u015bmy: tworzenie formularzy HTML i odbieranie danych w PHP, walidacj\u0119 p\u00f3l (empty(), filter_var()), zabezpieczanie danych (htmlspecialchars()), obs\u0142ug\u0119 checkbox\u00f3w i list rozwijanych, przesy\u0142anie i odbieranie plik\u00f3w. Dzi\u015b powtarzamy wszystko razem w praktyce. \u0106wiczenia \u0106wiczenie 1 \u2013 Puste pola Stw\u00f3rz formularz z polami: imi\u0119, e-mail. W PHP sprawd\u017a, czy pola nie s\u0105 puste. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomasz Sadowski\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-26T01:13:37+00:00\" \/>\n<meta name=\"author\" content=\"tomek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"tomek\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/\"},\"author\":{\"name\":\"tomek\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"headline\":\"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych)\",\"datePublished\":\"2025-09-26T01:13:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/\"},\"wordCount\":298,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"keywords\":[\"TSiAI 4IG1\"],\"articleSection\":[\"TSiAI 4IG1\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/\",\"name\":\"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\"},\"datePublished\":\"2025-09-26T01:13:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2025\\\/09\\\/26\\\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\",\"name\":\"Tomasz Sadowski Zaj\u0119cia\",\"description\":\"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego\",\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\",\"name\":\"tomek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"caption\":\"tomek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/zajecia.tsadowski.pl\"],\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/","og_locale":"pl_PL","og_type":"article","og_title":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski","og_description":"Wst\u0119p Do tej pory poznali\u015bmy: tworzenie formularzy HTML i odbieranie danych w PHP, walidacj\u0119 p\u00f3l (empty(), filter_var()), zabezpieczanie danych (htmlspecialchars()), obs\u0142ug\u0119 checkbox\u00f3w i list rozwijanych, przesy\u0142anie i odbieranie plik\u00f3w. Dzi\u015b powtarzamy wszystko razem w praktyce. \u0106wiczenia \u0106wiczenie 1 \u2013 Puste pola Stw\u00f3rz formularz z polami: imi\u0119, e-mail. W PHP sprawd\u017a, czy pola nie s\u0105 puste. [&hellip;]","og_url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/","og_site_name":"Tomasz Sadowski","article_published_time":"2025-09-26T01:13:37+00:00","author":"tomek","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"tomek"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/#article","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/"},"author":{"name":"tomek","@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"headline":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych)","datePublished":"2025-09-26T01:13:37+00:00","mainEntityOfPage":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/"},"wordCount":298,"commentCount":0,"publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"keywords":["TSiAI 4IG1"],"articleSection":["TSiAI 4IG1"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/","url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/","name":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych) - Tomasz Sadowski","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/#website"},"datePublished":"2025-09-26T01:13:37+00:00","breadcrumb":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2025\/09\/26\/lekcja-powtorzeniowa-php-formularze-i-obsluga-danych-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/zajecia.tsadowski.pl\/"},{"@type":"ListItem","position":2,"name":"Lekcja powt\u00f3rzeniowa \u2013 PHP (formularze i obs\u0142uga danych)"}]},{"@type":"WebSite","@id":"https:\/\/zajecia.tsadowski.pl\/#website","url":"https:\/\/zajecia.tsadowski.pl\/","name":"Tomasz Sadowski Zaj\u0119cia","description":"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego","publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zajecia.tsadowski.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":["Person","Organization"],"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c","name":"tomek","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","caption":"tomek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g"},"sameAs":["https:\/\/zajecia.tsadowski.pl"],"url":"https:\/\/zajecia.tsadowski.pl\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/comments?post=376"}],"version-history":[{"count":1,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/376\/revisions"}],"predecessor-version":[{"id":377,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/376\/revisions\/377"}],"wp:attachment":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/media?parent=376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/categories?post=376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/tags?post=376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}