CSC220 Homework 7 Solution 2010
--D. Thiebaut 19:57, 17 November 2010 (UTC)
hw7b.htm
<html>
<!--
hw7b.htm
Alex Cheng (220a-ag)
11/11/10
This is a form to upload kml data. It sends the information
to hw7b.php.
-->
<head>
<link href='hw7.css' rel='stylesheet' type='text/css' />
<script language="JavaScript" type="text/javascript">
function checkForm() {
if (document.kml.email.value == "") {
alert("Please enter your email address.");
kml.email.focus();
return false;
}
if (document.kml.uploaded.value == "") {
alert("Please select a file to upload.");
kml.uploaded.focus();
return false;
}
return true;
}
// -->
</script>
</head>
<body>
<div id="title3">KML Data</div>
<div id="title4">Form</div>
<div id="form">
<h3>Please fill out all fields in the form.</h3>
<form enctype ="multipart/form-data" name="kml" action="hw7b.php"
method="POST" onsubmit="return checkForm(this)">
<p>File name: <input name="uploaded" type="file" />
<p>Email: <input input type="text" name="email" size="40">
<p><input type="submit" value="Upload" />
</form>
<p><a href="http://maven.smith.edu/~220a-ag/hw7index.htm">Return to index</a>
</div>
</body>
</html>
hw7b.php
<?php
/*
hw7b.php
Alex Cheng (220a-ag)
11/10/10
This php page processes the information entered on hw7b.htm.
It enters the information into the kmldata table.
Base program written by Dominique Thiebaut.
*/
// print html head
function printHtmlHead() {
?>
<html>
<link href='hw7.css' rel='stylesheet' type='text/css' />
<div id="title3">Upload</div>
<div id="title4">Results</div>
<div id="form">
<h3>Here are the results of your upload:</h3>
<body>
<?php
}
// print html tail
function printHtmlTail() {
?>
</body>
</html>
<?php
}
// upload file
function uploadFile( ) {
// connection
require("accessinfo.php");
$connection = mysql_connect($hostName, $userName, $password);
if (!$connection) {
die("Not connected: ".mysql_error());
}
$db = mysql_select_db($database, $connection);
if (!$db) {
die("Can\'t use db: ".mysql_error());
}
// get form values
$originalName = $_FILES['uploaded']['name'];
$tmp_name = $_FILES['uploaded']['tmp_name'];
$destination = "uploads/" . $originalName;
$email = $_REQUEST["email"];
// figure out user's id
$idQuery = sprintf("SELECT `userId` from `userInfo` WHERE `email`='".$email."'");
$idResult = mysql_query($idQuery, $connection);
if (!$idResult) {
die("Invalid query: ".mysql_error());
}
while ($row = mysql_fetch_assoc($idResult)) {
$userId = $row["userId"];
}
// if there's no id, then user is not registered
// else, print confirmation for user
if ($userId == "") {
echo "You are not yet registered. You must be registered to upload a file.<br /><a href='http://maven.smith.edu/~220a-ag/hw7.php'>Go to registration form</a>.";
} else {
echo "Thank you. <br />You have provided the following email: ".$email." <br />and uploaded the following file: ".$originalName;
$text = file_get_contents( $tmp_name );
// insert data into kmldata
mysql_query("INSERT into `kmldata` (`userId`, `data`) VALUES ('".$userId."', '".$text."')");
}
}
// do functions :)
printHtmlHead();
uploadFile();
printHtmlTail();
?>
<p><a href="http://maven.smith.edu/~220a-ag/hw7b.htm">Return to upload form</a>
<br><a href="http://maven.smith.edu/~220a-ag/hw7index.htm">Return to index</a>
</div>
</body>
</html>
hw7.css
/*
hw7.css
Alex Cheng (220a-ag)
11/10/10
A CSS file to give all my homework pages formatting.
*/
@charset "UTF-8";
body {
font-family: Georgia, Times New Roman, serif;
background-image: url("http://hal.hampshire.edu/~ram/riceWallpaper3.jpg");
}
a:link {
text-decoration: none;
color: #000000;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: underline;
}
#indexpage {
min-width: 900px;
}
#title1 {
min-width: 500px;
position: absolute;
margin-left: 50px;
font-size: 100px;
margin-top: 100px;
}
#title2 {
min-width: 600px;
position: absolute;
margin-left: 85px;
font-size: 100px;
margin-top: 160px;
}
#title3 {
min-width: 500px;
position: absolute;
margin-left: 50px;
font-size: 50px;
margin-top: -10px;
}
#title4 {
min-width: 400px;
margin-left: 75px;
font-size: 50px;
position: relative;
top: 20px;
}
#midpage {
min-width: 900px;
position: absolute;
font-size: 50px;
margin-top: 300px;
}
#form {
min-width: 900px;
margin-left: 100px;
position: absolute;
font-size: 17px;
margin-top: 20px;
}
hw7index.htm
<html>
<!--
hw7index.htm
Alex Cheng (220a-ag)
11/12/10
This is an index page for hw7 that connects all the pages
I created for this assignment (i.e. a regular registration
page that uploads to userInfo, and a kml data upload page
that uploads to kmldata.
-->
<head><title>CSC 220, Homework 7</title>
<link href='hw7.css' rel='stylesheet' type='text/css' />
</head>
<body>
<div id="indexpage">
<div id="title1">CSC 220</div>
<div id="title2">Project</div>
<div id="midpage">
<table cellpadding="50" align="center">
<tr><td></td>
<td><font size="15"><a href="http://maven.smith.edu/~220a-ag/hw7.php">Register</a></font></td>
<td></td>
<td><font size="15"><a href="http://maven.smith.edu/~220a-ag/hw7b.htm">Upload KML</a></font></td></tr>
</table>
</div>
</div>
</body>
</html>
hw7.php
<html>
<!--
hw7.php
Alex Cheng (220a-ag)
11/10/10
This program is a form that takes in information and sends
it to hw7process.php to be processed.
-->
<head>
<title>CSC 220, Homework 7 Form</title>
<meta http-equiv="Pragma" content="no-cache">
<link href='hw7.css' rel='stylesheet' type='text/css' />
<!-- checks that email field is not empty -->
<script language="JavaScript" type="text/javascript">
<!--
function checkForm() {
if (document.userInfo.email.value == "") {
alert( "Please enter your email address." );
userInfo.email.focus();
return false;
}
return true ;
}
// -->
</script>
</head>
<div id="title3">Registration</div>
<div id="title4">Form</div>
<div id="form">
<h3>Please fill out all fields in the form.</h3>
<?php
// connection
require("accessinfo.php");
$connection = mysql_connect($hostName, $userName, $password);
if (!$connection) {
die("Not connected: ".mysql_error());
}
$db = mysql_select_db($database, $connection);
if (!$db) {
die("Can\'t use db: ".mysql_error());
}
// start form
echo '<form name="userInfo" action="hw7process.php" method="post" onsubmit="return checkForm(this)">';
// email
echo '<p>Email: <input type="text" name="email" size="40">';
// affiliation
$affQuery = sprintf("SELECT * from `affiliation`");
$affResult = mysql_query($affQuery, $connection);
if (!$affResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>Affiliation: <select name="affId">';
while ($row = mysql_fetch_assoc($affResult)) {
echo '<option value="'.$row["affId"].'">'.$row["affName"].'</option>';
}
echo '</select>';
// school
$schoolQuery = sprintf("SELECT * from `schools`");
$schoolResult = mysql_query($schoolQuery, $connection);
if (!$schoolResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>School: <select name="schoolId">';
while ($row = mysql_fetch_assoc($schoolResult)) {
echo '<option value="'.$row["schoolId"].'">'.$row["schoolName"].'</option>';
}
echo '</select>';
// housing area
$houseQuery = sprintf("SELECT * from `housingArea`");
$houseResult = mysql_query($houseQuery, $connection);
if (!$houseResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>Housing Area: <select name="houseId">';
while ($row = mysql_fetch_assoc($houseResult)) {
echo '<option value="'.$row["houseId"].'">'.$row["housingArea"].'</option>';
}
echo '</select>';
// major 1
$majorQuery = sprintf("SELECT * from `majors`");
$majorResult = mysql_query($majorQuery, $connection);
if (!$majorResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>Major: <select name="majorId">';
while ($row = mysql_fetch_assoc($majorResult)) {
echo '<option value="'.$row["majorId"].'">'.$row["majorName"].'</option>';
}
echo '</select>';
// major 2
$major2Query = sprintf("SELECT * from `majors`");
$major2Result = mysql_query($major2Query, $connection);
if (!$major2Result) {
die("Invalid query: ".mysql_error());
}
echo '<p>Second Major: <select name="majorId2">';
while ($row = mysql_fetch_assoc($major2Result)) {
echo '<option value="'.$row["majorId"].'">'.$row["majorName"].'</option>';
}
echo '</select>';
// phone id
$phoneQuery = sprintf("SELECT * from `phones`");
$phoneResult = mysql_query($phoneQuery, $connection);
if (!$phoneResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>Phone: <select name="phoneId">';
while ($row = mysql_fetch_assoc($phoneResult)) {
echo '<option value="'.$row["phoneId"].'">'.$row["phoneName"].'</option>';
}
echo '</select>';
// interest id
$interestQuery = sprintf("SELECT * from `interests`");
$interestResult = mysql_query($interestQuery, $connection);
if (!$interestResult) {
die("Invalid query: ".mysql_error());
}
echo '<p>Interest: <select name="interestId">';
while ($row = mysql_fetch_assoc($interestResult)) {
echo '<option value="'.$row["interestId"].'">'.$row["interestName"].'</option>';
}
echo '</select>';
// submit
echo '<p><input type="reset" value="Reset" /> <input type="submit" value="Submit">';
?>
<p><a href="http://maven.smith.edu/~220a-ag/hw7index.htm">Return to index</a>
</div>
</html>
hw7process.php
<html>
<!--
hw7process.php
Alex Cheng (220a-ag)
11/10/10
This page processes the information entered on hw7.php and
enters it into the userInfo table. Also displays the
information.
-->
<head>
<title>CSC 220, Homework 7: Form Processing</title>
<meta http-equiv="Pragma" content="no-cache">
<link href='hw7.css' rel='stylesheet' type='text/css' />
</head>
<body>
<div id="title3">Registration</div>
<div id="title4">Results</div>
<div id="form">
<h3>Here are the results of your registration:</h3>
<?php
// connection
require("accessinfo.php");
$connection = mysql_connect($hostName, $userName, $password);
if (!$connection) {
die("Not connected: ".mysql_error());
}
$db = mysql_select_db($database, $connection);
if (!$db) {
die("Can\'t use db: ".mysql_error());
}
// get values from form
$email = $_REQUEST["email"];
$affId = $_REQUEST["affId"];
$schoolId = $_REQUEST["schoolId"];
$housingArea = $_REQUEST["houseId"];
$majorId = $_REQUEST["majorId"];
$majorId2 = $_REQUEST["majorId2"];
$phoneId = $_REQUEST["phoneId"];
$interestId = $_REQUEST["interestId"];
$alreadyReg = false;
// check if user is already registered
$findQuery = sprintf("SELECT `email` from `userInfo` WHERE `email`='".$email."'");
$findResult = mysql_query($findQuery, $connection);
if (!$findQuery) {
die("Invalid query: ".mysql_error());
}
while ($row = mysql_fetch_assoc($findResult)) {
if ($row["email"] == $email) {
$alreadyReg = true;
} else {
$alreadyReg = false;
}
}
// insert information into db
if (($email != null) && ($alreadyReg == false)) {
mysql_query("INSERT into `userInfo` (`email`, `schoolId`, `housingArea`, `affId`, `majorId`, `majorId2`, `phoneId`, `interestId`) VALUES ('$email', '$schoolId', '$housingArea', '$affId', '$majorId', '$majorId2', '$phoneId', '$interestId')");
echo "Your registration was successful!";
echo "<br /><b>You provided the following email: </b>".$email;
} else if ($alreadyReg == true) {
echo "You have already registered!";
} else {
echo "You did not provide an email!";
}
// print information
if ($alreadyReg == false) {
// affiliation
$affQuery = sprintf("SELECT `affName` from `affiliation` WHERE `affId`='".$affId."'");
$affResult = mysql_query($affQuery, $connection);
if (!$affResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Affiliation: </b>';
while ($row = mysql_fetch_assoc($affResult)) {
echo $row["affName"];
}
// school
$schoolQuery = sprintf("SELECT `schoolName` from `schools` WHERE `schoolId`='".$schoolId."'");
$schoolResult = mysql_query($schoolQuery, $connection);
if (!$schoolResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>School: </b>';
while ($row = mysql_fetch_assoc($schoolResult)) {
echo $row["schoolName"];
}
// housing area
$houseQuery = sprintf("SELECT `housingArea` from `housingArea` WHERE `houseId`='".$housingArea."'");
$houseResult = mysql_query($houseQuery, $connection);
if (!$houseResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Housing Area: </b>';
while ($row = mysql_fetch_assoc($houseResult)) {
echo $row["housingArea"];
}
// first major
$majorQuery = sprintf("SELECT `majorName` from `majors` WHERE `majorId`='".$majorId."'");
$majorResult = mysql_query($majorQuery, $connection);
if (!$affResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Major: </b>';
while ($row = mysql_fetch_assoc($majorResult)) {
echo $row["majorName"];
}
// second major
$major2Query = sprintf("SELECT `majorName` from `majors` WHERE `majorId`='".$majorId2."'");
$major2Result = mysql_query($major2Query, $connection);
if (!$major2Result) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Second Major: </b>';
while ($row = mysql_fetch_assoc($major2Result)) {
echo $row["majorName"];
}
// phone type
$phoneQuery = sprintf("SELECT `phoneName` from `phones` WHERE `phoneId`='".$phoneId."'");
$phoneResult = mysql_query($phoneQuery, $connection);
if (!$phoneResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Phone: </b>';
while ($row = mysql_fetch_assoc($phoneResult)) {
echo $row["phoneName"];
}
// interests
$interestQuery = sprintf("SELECT `interestName` from `interests` WHERE `interestId`='".$interestId."'");
$interestResult = mysql_query($interestQuery, $connection);
if (!$interestResult) {
die("Invalid query: ".mysql_error());
}
echo '<br /><b>Interests: </b>';
while ($row = mysql_fetch_assoc($interestResult)) {
echo $row["interestName"];
}
}
// links
echo '<p><a href="http://maven.smith.edu/~220a-ag/hw7.php">Return to form</a>';
echo '<br><a href="http://maven.smith.edu/~220a-ag/hw7index.htm">Return to index</a>';
?>
</div>
</body>
</html>