Dynamický web
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | |||
Název tématické oblasti (sady) | Programování | ||
Název materiálu | PHP - cvičení V | ||
Anotace | |||
Autor | Jazyk | ||
Očekávaný výstup | |||
Klíčová slova | |||
Druh výukového zdroje | Věková skupina žáků | ||
Typ interakce | Ročník | ||
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | Celková velikost |
Obsah
Odeslání formuláře
Oživte formulář z předchozího cvičení tak, že bude odesílat data skriptu: responder.php
.
<form action="responder.php" method="post"> <h2>Contactel formium</h2> <table> <tr> <td><label>Jméno</label></td> <td><input type="text" name="" value=""></td> </tr> ...
Skript pak přijme data metodou POST
a uloží je do databáze - připravte proto odpovídající tabulku v databázi.
Tabulka
řešení
CREATE TABLE `responder` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(64) NOT NULL, `email` VARCHAR(128) NOT NULL, `immodium` VARCHAR(32) NOT NULL, `duis` tinyint NOT NULL DEFAULT '0', `zprava` text NOT NULL );
Příjem a uložení
Vše se odehrává v souboru responder.php
<?php $my = new mysqli("host", "user", "password", "schema"); $my->set_charset("utf8"); // chybí jakákoli validace!!! $name = $_POST["name"]; $email = $_POST["email"]; $immodium = $_POST["immodium"]; $duis = $_POST["duis"]; $zprava = $_POST["zprava"]; $res = $my->query("INSERT INTO `responder` (`name`, `email`, `immodium`, `duis`, `zprava`) VALUES('$name', '$email', '$immodium', '$duis', '$zprava')"); if ($res) { // přesměrování } else { echo $my->error; }
Přesměrování
Po uložení formuláře dojde k přesměrování zpět na stránku s formulářem, kde se zobrazí informace o úspěchu uložení dat.
Nejprve řešení pro responder.php
:
<?php if ($res) { header("location: adipisicing.php?status=0"); }
Stránku s formulářem bude ovšem teď předělat do PHP (stačí přejmenovat soubor).
Teprve pak bude možné přijmout parametr status
přes metodu GET
.
<?php if (isset($_GET["status"])) { if ($_GET["status"] == 0) { echo "<p>Formulář byl úspěšně uložen.</p>"; } }