Table of Contents

Web Development Lesson 8 - Forms

Inputs

Objective

In this activity you will create a form and use it to pass data from one page to another.

Setup

form.php

<?php
    include('header.php');
    include('menu.php');
?>
    <main>
        <p>Choose your hero.</p>
        <ol>
            <li><a href="process_form.php?name=Loki">Loki</a></li>
            <li><a href="process_form.php?name=Hulk">Hulk</a></li>
        </ol>
    </main>
<?php
    include('footer.php');
?>

process_form.php

<?php
    include('header.php');
    include('menu.php');
?>
    <main>
        <p>You have chosen <?php echo $_GET['name']; ?></p>
    </main>
<?php
    include('footer.php');
?>

Submit a Form

        <form action="process_form.php"></form>
            <button type="submit" name="name" value="Loki"></button>
            <button type="submit" name="name" value="Hulk"></button>

Text Input

                <ul>
                    <li>
                    </li>
                </ul>
                    <li>
                        <label>Hero Alias:</label>
                        <input type="text" name="alias" size="30" maxlength="50" hint="Iron Man">
                    </li>
                    <li>
                        <label>Identity:</label>
                        <input type="text" name="identity" size="30" maxlength="50" hint="Tony Stark">
                    </li>

Radio Buttons

                    <li>
                        <label>Side:</label>
                        <input type="radio" name="side" value="Hero" checked="checked"> Hero<br>
                        <input type="radio" name="side" value="Villain"> Villain
                    </li>

Number

                    <li>
                        <label>First Appearance:</label>
                        <input type="number" name="year">
                    </li>
                    <li>
                        <label>Source of Power:</label>
                        <select name="power">
                            <option value="skill">Skill</option>
                            <option value="bio">Biological</option>
                            <option value="magic">Magic</option>
                            <option value="tech">Technology</option>
                            <option value="mutant">Mutant</option>
                        </select>
                    </li>
                <input type="submit" name="submit" value="Add Hero">

Database Query

    include('database.php');
<?php
    // Set up database connection
    define ('DBCONNECT', "../../pdo.php"); // database connection
    include DBCONNECT;
    $db  = 'webdev';
    $dsn = "mysql:host=$db_host;dbname=$db;charset=utf8mb4";
    try 
    { // connect
        $pdo = new MyPDO($dsn, $db_user, $db_pass, $db_options);
    } catch (\PDOException $e) {
        throw new \PDOException ($e->getMessage(), (int)$e->getCode());
    }
?>
    // get list of heroes
    $query = "SELECT * FROM heroes";
    $args  = array();
    $rslt  = $pdo->prepare($query);
    $rslt->execute($args);
                    <li>
                        <label>Hero</label>
                        <select name="hero">
<?php
    // display list of heroes
    while($row = $rslt->fetch()) {
?>
                            <option value="<?php echo $row['alias']; ?>"><?php echo $row['alias']; ?></option>
<?php
    }
?>
                        </select>
                    </li>

Checkboxes

    // get list of movies
    $query = "SELECT * FROM appearances";
    $args  = array();
    $mrslt = $pdo->prepare($query);
    $mrslt->execute($args);
<?php
    // display list of movies
    while($row = $mrslt->fetch()) {
?>
                            <li></li>
<?php
    }
?>
                            <li><input type="checkbox" name="movie[]" value="<?php echo $row['movie']; ?>" id=""> <?php echo $row['movie']; ?></li>

GROUP BY

SELECT * FROM `appearances` GROUP BY movie
SELECT movie FROM `appearances` GROUP BY movie
    // get list of movies
    $query = "SELECT movie FROM appearances GROUP BY movie";
    $args  = array();
    $mrslt = $pdo->prepare($query);
    $mrslt->execute($args);

Add Movie

                            <li><input type="checkbox" name="movie[]" value="new" id=""> <input type="text" name="new_movie"></li>

Multiple Parameters

                <input type="submit" name="submit" value="Add Appearance">

Next: Styling