-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsubmit.php
More file actions
61 lines (57 loc) · 2.73 KB
/
Copy pathsubmit.php
File metadata and controls
61 lines (57 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
$pageTitle = 'submit.php starter | XAMPP PHP Database Practice Lab';
require __DIR__ . '/includes/header.php';
?>
<main class="container content-page">
<section class="content-section">
<p class="section-label">Starter PHP soubor</p>
<h1>Toto je startovací soubor submit.php</h1>
<p>
Doplň validaci a uložení do databáze podle instrukcí ve cvičeních.
Tento soubor záměrně neobsahuje hotové řešení.
</p>
<?php if ($_SERVER['REQUEST_METHOD'] !== 'POST'): ?>
<div class="notice">
<strong>Soubor byl otevřen bez odeslání formuláře.</strong>
<p>Nejdřív otevři poptávkový formulář a odešli ho metodou POST.</p>
<p><a href="/xampp-php-database-practice-lab/practice-form.php">Zpět na formulář</a></p>
</div>
<?php else: ?>
<div class="notice">
<strong>Formulář dorazil metodou POST.</strong>
<p>Teď je tvoje práce doplnit serverovou logiku. Nepřeskakuj validaci.</p>
</div>
<?php endif; ?>
<h2>TODO pro trainee</h2>
<ol class="task-list">
<li>Ověř, že request method je POST.</li>
<li>Načti hodnoty z $_POST: name, email, phone, service, message a consent.</li>
<li>Ořízni textové hodnoty pomocí trim.</li>
<li>Zkontroluj povinná pole.</li>
<li>Zkontroluj e-mail pomocí filter_var.</li>
<li>Zkontroluj, že consent checkbox byl zaškrtnutý.</li>
<li>Vlož config/db.php až ve chvíli, kdy ho máš vytvořený lokálně.</li>
<li>Připoj se k databázi přes PDO.</li>
<li>Připrav SQL INSERT pomocí prepared statement.</li>
<li>Spusť prepared statement s daty z formuláře.</li>
<li>Po úspěchu přesměruj uživatele na thank-you.php.</li>
</ol>
<h2>Pseudokód</h2>
<pre><code>// 1. pokud request není POST, vrať uživatele na formulář
// 2. načti a ořízni data z $_POST
// 3. vytvoř pole chyb
// 4. zkontroluj povinná pole, e-mail a consent
// 5. pokud existují chyby, vypiš je bezpečně pomocí htmlspecialchars
// 6. require config/db.php
// 7. připrav INSERT do tabulky inquiries pomocí prepared statement
// 8. proveď dotaz
// 9. redirect na thank-you.php</code></pre>
<?php
// TODO: Sem trainee doplní vlastní PHP validaci.
// TODO: Sem trainee doplní připojení přes PDO.
// TODO: Sem trainee doplní prepared statement pro INSERT.
// POZOR: Tento starter neobsahuje finální implementaci záměrně.
?>
</section>
</main>
<?php require __DIR__ . '/includes/footer.php'; ?>