Creating databases for web applications
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Creating Databases for Web Applications PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Creating Databases for Web Applications

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


Creating databases for web applications

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

$saywhich=@$_GET['saywhich'];

if ($saywhich){

include("statecapitals.php");

$which=$_GET['which'];

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


Creating databases for web applications

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");

}


Creating databases for web applications

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");

} }


Creating databases for web applications

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];


Creating databases for web applications

if ($which=='state') {

if ($capital == $correctcapital) {

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

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

}


Creating databases for web applications

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");

} }


Creating databases for web applications

else {

if ($state == $correctstate) {

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

$saywhich='false';

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

}


Creating databases for web applications

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");

} }

?>


Creating databases for web applications

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");

} }


Creating databases for web applications

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…


Creating databases for web applications

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.


  • Login