Introduction

advertisement
CS146
Database Systems &Team
Projects
Spring 2009
Introduction
• Lab instructor:
– Darby Thompson
• darbyt@gwu.edu
• Office Hours: By Appt
• Lab page will be linked from the course
page:
– http://www.seas.gwu.edu/~bhagiweb/cs146/
What do I expect from students in
the lab
• WID Writing assignments - go to the WID
TA if you have questions
• Programming assignments
– Submit using Blackboard
– Due at 11.59pm
– Don’t be late!
What do I expect from students in
the lab
• Grading policy for programming
assignments
– Queries with syntactic errors will not be
considered.
– Run your queries before sending them
– If the query works, it is likely you will get all
the points for it
What do I expect from students in
the lab
• I will explain everything in the lab. Be there
& don’t fall asleep!
• You are expected to play with the tools on
your own and learn at least enough to do
the project.
• Email me to set up appointments - I’ll
probably need more than 1 hour notice!
• Start early…
What do I expect from students in
the lab
• Teamwork! You will be working on long
term team projects.
– Communicate with your teammates and let
them know if you’re having problems
– Communicate with me and let me know if
you’re having problems
Lab Outline
• What we will do
– SQL, MySQL, etc…
– In-class and homework Programming
Assignments
– Team Project
– PHP, JDBC
– Ethics debates/discussions (ideas?)
– Lectures/lab swap
Databases
• What do you already know about
databases? Keywords?
Tools/Applications?
• Any idea what SQL stands for?
Databases
• Standard Query Language
Apply for a mysql account
• Send an email NOW to
support@ticket.seas.gwu.edu and request
a MySQL account. Mention that you are
taking CS146
• You will need the account for next lab (in
class exercises)
Php
• Official site: www.php.net
• PhP manual:
http://www.php.net/manual/en/index.php
• Useful package (Apache, MySql,PhP):
http://www.easyphp.org/
Where ?
• Ssh into cobweb.seas.gwu.edu and put
your php files
• Access them via
http://www.student.seas.gwu.edu/~yourus
ername/filename.php
How ?
• You can use a basic text editing program to
write php files, and CyberDuck to move files
onto cobweb
• Additionally can use X11 Terminal to copy a
file from your computer to the server using
the following command:
– scp filename.php
username@cobweb.seas.gwu.edu:public_html/
What is PhP
• “PHP is a widely-used general-purpose
scripting language that is especially suited
for Web development and can be
embedded into HTML” (www.php.net)
• Server scripting language (Javascript is a
client side scripting language)
• If you know C, you will learn PhP in no
time.
Hello World!
•
Index.php:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
•
Output
<html>:
<head>
<title>PHP Test</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
Basics
• Use echo for printing
• Variables start with $ sign
• Do not have to explicitly assign them a
type (like int, array, etc.)
• . (dot) concatenates 2 strings. Ex
$a=”Hello”;$b=”World”; echo $a.” ”.$b;
displays ”Hello World”
Accesing databases from PhP
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
$link=mysql_connect("localhost",“username",“password") or
die("Error connecting to the database server:".mysql_error()."<br>\n");
mysql_select_db(“username") or
die("Error selecting the database:".mysql_error()."<br>\n");
?>
<?php
$sql = "SELECT name, id FROM employees;";
$result=mysql_query($sql);
while(list($name,$id) = mysql_fetch_array($result))
{
echo "<p>".$name." ".$id;
}
?>
</body>
</html>
Arrays
• A mapping between keys and values. Example
<?php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
foreach ($arr as $key => $value) {
echo “key=”.$key;
echo “ value=”,$value.”<BR>”;
}
?>
Get and Post
• $_GET[’variablename’] – the variable is
appended to the http address, and is
transmited in the same stream. Ex:
http://www.somesite.com/index.php?a=1&
b=’x’. Easy to bookmark
• $_POST[’variablename’] – a new stream is
created, and all the post variables are
transmited in this stresm. The http address
is clean (no bookmarks)
Get variables from forms
getName.html
<HTML>
<BODY>
<form action="action.php"
method="post">
<p>Your name: <input type="text"
name="name" /></p>
<p>Your age: <input type="text"
name="age" /></p>
<p><input type="submit"
value="Submit"/></p>
</form>
</BODY>
</HTML>
Action.php
<HTML>
<BODY>
<?php echo "Your name is
".$_POST["name"]." and you are
".$_POST["age"]." years old";?>
</BODY>
</HTML>
Some usefull global variables
• $_SESSION -An associative array containing session variables available to
the current script.
• $_SERVER[’PHP_SELF’]- The filename of the currently executing
script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a
script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar.
• $_SERVER['SERVER_NAME']- The name of the server host under
which the current script is executing. If the script is running on a virtual host, this will
be the value defined for that virtual host.
• __LINE__The current line number of the file.
• __FILE__The full path and filename of the file. If used inside an include,
the name of the included file is returned.
Session
• HTTP is stateless
• Simulates a statefull connection. Maintains
records on the server side until the
browser is closed.
• session_start();
• $_SESSION[‘foo’]=‘bar’;
• $_SESSION[‘a’][‘b’]=‘c’;
• Allows to build a ”shoping cart”;
Includes
•
•
•
•
•
•
•
•
•
header.php
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<TABLE width="800" cellpadding="4" cellspacing="0" align="center" border="0">
<TR>
<TD width='100%'>
•
•
•
•
•
•
footer.php
•
•
•
•
•
•
index.php
<?php
include ”header.php”;
echo ”hello world”;
include ”footer.php”
?>
</TD>
</TR>
</TABLE>
</body>
</html>
Download