Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $rdbms = "mysql";
- $host = "localhost";
- $db = "taitaja";
- $user = "root";
- $pass = "";
- $charset = "utf8";
- $opt = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
- PDO::ATTR_EMULATE_PREPARES => false,
- ];
- $connectionString = "$rdbms:host=$host;dbname=$db;charset=$charset";
- $pdo = new PDO($connectionString, $user, $pass, $opt);
- $stmt = $pdo->query("Select id, numero, nimi From laji");
- $stmt->execute();
- while ($row = $stmt->fetch()) {
- $lajit[] = $row;
- }
- $etunimi = filter_input(INPUT_POST, 'etunimi', FILTER_SANITIZE_STRING);
- $sukunimi = filter_input(INPUT_POST, 'sukunimi', FILTER_SANITIZE_STRING);
- $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
- // seuraavassa on ENSIN annettava listan alkion filtteri(FILTER_DEFAULT jos ei muuta),'
- // sitten vasta FILTER_REQUIRE_ARRAY
- // siis: varmista, että listassa on numeroita, sitten varmista, että syöte on lista
- $laji = filter_input(INPUT_POST, 'laji', FILTER_SANITIZE_NUMBER_INT, FILTER_REQUIRE_ARRAY);
- if (!$etunimi) {
- $errorMsg[] = "Syötä etunimesi";
- }
- if (!$sukunimi) {
- $errorMsg[] = "Syötä sukunimesi";
- }
- if (!$email || !preg_match("/^\S+@\S+$/", $email)) {
- $errorMsg[] = "Syötä oikea sähköpostiosoite";
- }
- if (!$laji) {
- $errorMsg[] = "Valitse vähintään yksi laji";
- }
- if (empty($errorMsg)) {
- // kirjoita tietokantaan
- $sql = "INSERT INTO kilpailija (etunimi, sukunimi, email) "
- . "Values(?, ?, ?)";
- $statement = $pdo->prepare($sql);
- $statement->execute(array($etunimi, $sukunimi, $email));
- // ota talteen uuden kilpailijan id
- $kilpailija_id = $pdo->lastInsertId();
- // lisää ilmoittautumisen jokaiseen lajiin, jotka lomakkeelta saatiin
- foreach ($laji as $l) {
- $sql = "INSERT INTO ilmoittautuminen (kilpailija, laji)"
- . "VALUES(?, ?)";
- $statement = $pdo->prepare($sql);
- $statement->execute(array($kilpailija_id, $l));
- }
- $nimi = "$etunimi $sukunimi";
- $redirectTo = "Location: success.php?nimi=" . urlencode($nimi);
- header($redirectTo);
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Ilmoittaudu</title>
- <style>
- body {
- font-size: 62.5%;
- background-color: white;
- font-family: sans-serif;
- }
- #wrapper {
- }
- #content {
- width: 50%;
- margin-left: auto;
- margin-right: auto;
- font-size: 1.8em;
- }
- ul {
- float: left;
- width: 40%;
- }
- ul li {
- box-sizing: border-box;
- float: left;
- width: 30%;
- list-style-type: none;
- font-size: 1.8em;
- margin-left: 10px;
- border: 1px solid white;
- border-radius: 5px;
- padding: 5px;
- background-color: white;
- text-align: center;
- }
- ul li a {
- text-decoration: none;
- color: black;
- }
- ul li:hover {
- background-color: #64bff8;
- border: 1px solid #64bff8;
- }
- #title {
- clear:both;
- text-align: center;
- margin-bottom: 50px;
- font-size: 3.5em;
- font-weight: bold;
- color: #555;
- padding-top: 2.5em;
- }
- form {
- width: 50%;
- margin-left: auto;
- margin-right: auto;
- border: 1px #b5e1fb solid;
- border-radius: 5px;
- padding: 25px;
- background-color: #54b8f7;
- }
- form label {
- display:inline-block;
- float: left;
- padding-top: 5px;
- text-align: right;
- width: 100px;
- }
- form input {
- margin-top: 5px;
- margin-bottom: 5px;
- display:inline-block;
- vertical-align:middle;
- margin-left:20px
- }
- #button1 {
- background-color: #139df4;
- border: 2px solid #139df4;
- width: 40%;
- height: 40px;
- margin-left: 30%;
- margin-right: 30%;
- margin-top: 30px;
- margin-bottom: 20px;
- border-radius: 5px;
- font-size: 1em;
- }
- #button1:hover {
- background-color: #0a7fca;
- border: 2px solid #0a7fca;
- }
- #lajit {
- margin-top: 70px;
- }
- #active {
- box-sizing: border-box;
- float: left;
- width: 30%;
- list-style-type: none;
- font-size: 1.8em;
- margin-left: 10px;
- border: 1px solid white;
- border-radius: 5px;
- padding: 5px;
- background-color: white;
- text-align: center;
- background-color: #64bff8;
- border: 1px solid #64bff8;
- }
- nav {
- }
- footer {
- text-align: center;
- font-size: 1.3em;
- color: grey;
- margin-top: 3em;
- max-width: 100%;
- min-width: 100%;
- }
- </style>
- </head>
- <body>
- <div id="wrapper">
- <nav>
- <ul>
- <li><a href="login.php">Kirjaudu</a></li>
- <li id="active"><a href="index.php">Ilmoittaudu</a></li>
- <li><a href="entries.php">Ilmoittautumiset</a></li>
- </ul>
- </nav>
- <p id="title">Ilmoittaudu Taitaja-kilpailuun</p>
- <div id="content">
- <form method="POST" action="">
- <p>
- <label for="etunimi">Etunimi: </label>
- <input type="text" name="etunimi" required>
- </p>
- <p>
- <label for="sukunimi">Sukunimi: </label>
- <input type="text" name="sukunimi" required>
- </p>
- <p>
- <label for="email">Sähköposti: </label>
- <input type="email" name="email" required>
- </p>
- <p id="lajit">
- <?php
- echo "Laji";
- echo "<br>";
- foreach ($lajit as $laji) {
- extract($laji);
- echo "<input name=\"laji[]\" type=\"checkbox\" value=\"{$id}\">{$numero} {$nimi}</input><br>";
- }
- ?>
- </p>
- <button id="button1" name="submit" value="ilmoittaudu">Ilmoittaudu</button>
- </form>
- </div>
- <footer>
- Tuukka Hyvärinen / Suomen Liikemiesten Kauppaopisto - 2018
- </footer>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement