creating databases for web applications
Download
Skip this Video
Download Presentation
Creating Databases for Web Applications

Loading in 2 Seconds...

play fullscreen
1 / 24

Creating Databases for Web Applications - PowerPoint PPT Presentation


  • 94 Views
  • Uploaded on

Creating Databases for Web Applications. State capitals quiz Classwork: design a new quiz Homework: Make sure you can upload files and have MySQL database. Get a simple quiz working like the state capital quiz. Post unique source on REGULAR expressions. multi-purpose php files.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Creating Databases for Web Applications' - angeni


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
creating databases for web applications

Creating Databases for Web Applications

State capitals quiz

Classwork: design a new quiz

Homework: Make sure you can upload files and have MySQL database. Get a simple quiz working like the state capital quiz.

Post unique source on REGULAR expressions.

multi purpose php files
multi-purpose php files
  • Used to both present a form and
  • check the input in a form.
  • Replacement for html and php pair.
  • Advantages:
    • don’t have to coordinate two files
    • less files to handle
  • Disadvantages
    • need to include coding to make determination
use of @ sign
Use of @ sign
  • The @ sign is used to suppress error messages.
  • We will use it in the code to test if something, namely a form input, exists.
    • if it does, then control goes to the code for handling the form
    • otherwise, control goes to the code for displaying the form
slide4
rand
  • Built-in php function.
  • Takes two arguments.
  • rand(a, b), a and b integers, returns random value from a, … b.
  • Check out shuffle, mt_rand. Extra credit posting opportunity to explain.
state capital quiz
State capital quiz
  • http://socialsoftware.purchase.edu/jeanine.meyer/statecapquizask.php
  • Choose what to be asked
    • Note: how can this be worded better????
  • Ask
  • Check the answer
    • Give chance to try again or
    • Go back to get new question
state capitals quiz
State capitals quiz
  • Implementation: three php files. Two of the php files call themselves and include the other file.
    • statecapitals.php
      • This file is include[d] in the others. It sets up 2 parallel arrays holding the names of the states and the capital cities.
    • statecapquizask.php
      • This is a multi-purpose file.
    • statecapquizcheck.php
      • This is also a multi-purpose file. Checks answer. Allows for another guess or goes back to statecapquizask.php
state capitals storyboard
State capitals storyboard

Include file: statecapitals.php

statecapquiz.php

statecapquizcheck.php

programming practices
Programming practices
  • Parallel structures, in this case the array of states corresponding to the array of capitals, is a common programming device. Think of it as an alternative to a database or xml for very simple cases.
  • Repeat: multi-purpose, self-referencing of php scripts is a common practice
    • benefits: reduces number of files. Information in one place
    • negatives: the one file is more complex
statecapitals php
statecapitals.php

<?php

$states = Array();

$capitals = Array();

$states[]="Alabama"; //adds to array

$capitals[]="Montgomery";

$states[]="Alaska";

$capitals[]="Juneau";

statecapquizask php
statecapquizask.php

<html> <head> <title>State capitals quiz: check</title>

</head> <body>

<h1>State Capital Quiz </h1><p>

<?php

[email protected]$_GET[\'saywhich\'];

if ($saywhich){

include("statecapitals.php");

$which=$_GET[\'which\'];

$choice=rand(0, sizeOf($states)-1);

slide11
if ($which==\'state\') {

$state = $states[$choice];

print("What is the capital of $state?<br>");

print("<form action=\'statecapquizcheck.php\' method=\'get\'>\n");

print("<input type=\'text\' name=\'capital\'><br>\n");

print("<input type=\'hidden\' name=\'which\' value=$which>\n");

print("<input type=\'hidden\' name=\'choice\' value=$choice>\n");

print("<input type=\'submit\' value=\'Submit Answer\'>");

print("</form>\n");

}

slide12
else { $capital = $capitals[$choice]; print("$capital is the capital of which state?<br>");

print("<form action=\'statecapquizcheck.php\' method=\'get\'>\n");

print("<input type=\'text\' name=\'state\'><br>\n"); print("<input type=\'hidden\' name=\'which\' value=$which>\n");

print("<input type=\'hidden\' name=\'choice\' value=$choice>\n");

print("<input type=\'submit\' value=\'Submit Answer\'>");

print("</form>\n");

} }

slide13
else {

print("Choose form of question: do you want to be given the state or the capital?<br>");

print("<form action=\'statecapquizask.php\' method=\'get\'>\n");

print("Ask <input type=\'radio\' name=\'which\' value=\'state\'>State");

print(" <input type=\'radio\' name=\'which\' value=\'capital\'>Capital\n");

print("<input type=\'hidden\' name=\'saywhich\' value=\'true\'>\n");

print("<input type=\'submit\' value=\'Submit choice\'>");

print("</form>"); }

?>

</body> </html>

statecapquizcheck php
statecapquizcheck.php

<html> <head> <title>State capitals quiz: check</title> </head> <body>

<?php

include(\'statecapitals.php\');

$choice=$_GET[\'choice\'];

$state=$_GET[\'state\'];

$capital=$_GET[\'capital\'];

$which=$_GET[\'which\'];

$correctstate=$states[$choice];

$correctcapital=$capitals[$choice];

slide15
if ($which==\'state\') {

if ($capital == $correctcapital) {

print("Correct! $correctcapital is the capital of $correctstate!");

print("<p><a href=\'statecapquizask.php\'>Play again </a>");

}

slide16
else {

print("WRONG!<p>\n");

print("<a href=\'statecapquizask.php\'>New turn </a><p>\n");

print("OR try again: What is the capital of $correctstate?<br>");

print("<form action=\'statecapquizcheck.php\' method=\'get\'>\n");

print("<input type=\'text\' name=\'capital\'><br>\n");

print("<input type=\'hidden\' name=\'state\' value=$state>\n");

print("<input type=\'hidden\' name=\'which\' value=$which>\n");

print("<input type=\'hidden\' name=\'choice\' value=$choice>\n");

print("<input type=\'submit\' value=\'Submit Answer\'>");

print("</form>\n");

} }

slide17
else {

if ($state == $correctstate) {

print("Correct! The capital of $correctstate is $correctcapital!");

$saywhich=\'false\';

print("<p><a href=\'statecapquizask.php\'>Play again </a>");

}

slide18
else {

print("WRONG!<p>\n");

print("<a href=\'statecapquizask.php\'>New turn </a><p>\n");

print("OR try again: $correctcapital is the capital of what state?<br>");

print("<form action=\'statecapquizcheck.php\' method=\'get\'>\n");

print("<input type=\'text\' name=\'state\'><br>\n");

print("<input type=\'hidden\' name=\'capital\' value=$capital>\n");

print("<input type=\'hidden\' name=\'which\' value=$which>\n");

print("<input type=\'hidden\' name=\'choice\' value=$choice>\n");

print("<input type=\'submit\' value=\'Submit Answer\'>");

print("</form>\n");

} }

?>

slide19
else {

$capital = $capitals[$choice];

print("$capital is the capital of which state?<br>");

print("<form action=\'statecapquizcheck.php\' method=\'get\'>\n");

print("<input type=\'text\' name=\'state\'><br>\n");

print("<input type=\'hidden\' name=\'which\' value=$which>\n");

print("<input type=\'hidden\' name=\'choice\' value=$choice>\n");

print("<input type=\'submit\' value=\'Submit Answer\'>");

print("</form>\n");

} }

slide20
else {

print("Choose form of question: do you want to be given the state or the capital?<br>");

print("<form action=\'statecapquizask.php\' method=\'get\'>\n");

print("Ask <input type=\'radio\' name=\'which\' value=\'state\'>State");

print(" <input type=\'radio\' name=\'which\' value=\'capital\'>Capital\n");

print("<input type=\'hidden\' name=\'saywhich\' value=\'true\'>\n");

print("<input type=\'submit\' value=\'Submit choice\'>");

print("</form>"); }

?>

</body></html>

reprise
Reprise
  • if statements within if statements
  • php produces the appropriate html, including the form element
  • The php is printing (producing) html. It is not operating the quiz!
  • There are ways to enhance this program
    • perhaps limit the number of re-tries
    • prevent browser from showing previous inputs
    • see next slide…
slide22
Note
  • Answer must be exact!
  • Sometimes this is not appropriate.
  • Consider NOT requiring exact case.
    • Extra credit opportunity
  • Consider something else, such as inexact spelling. What is close enough? How to measure?
  • Use of regular expression is a way to present a pattern of answers as opposed to a set answer.
  • Later: we will cover the use of LIKE as an operator in MySql statements
classwork teams
Classwork (teams)

Design simple quiz

  • like the state capital quiz, using parallel arrays for questions and answers
    • Ideas?

OR

  • make significant enhancement to my quiz, like adding scoring, limiting re-tries

OR

  • some other quiz!
homework
Homework
  • Get your quiz working. Post link in posting to the General Discussion Forum.
  • Research and post unique source on Regular expressions on moodle. We use regular expressions
    • to validate input and extract information from input.
    • potential for quizzes.
ad