lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt...

19
0 Computer Science S-75 Building Dynamic Websites Harvard Summer School http://www.cs75.net/ Lecture 1: PHP David J. Malan [email protected]

Transcript of lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt...

Page 1: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

0

Computer Science S-75 Building Dynamic Websites Harvard Summer School

http://www.cs75.net/

Lecture 1: PHP

David J. Malan

[email protected]

Page 2: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

1

HTTP

Images from howstutfworks.com.

Page 3: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

2

Apache

Images from apache.org.

http://httpd.apache.org/docs/2.2/

Page 4: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

3

Apache # www.cs75.net <VirtualHost *:80> CustomLog logs/www.cs75.net-access_log common DocumentRoot /home/cscie75/srv/www/www.cs75.net/html ErrorLog logs/www.cs75.net-error_log ServerAdmin [email protected] ServerAlias cs75.net ServerName www.cs75.net </VirtualHost> <VirtualHost *:443> CustomLog logs/www.cs75.net-access_log common DocumentRoot /path/to/htdocs ErrorLog logs/www.cs75.net-error_log ServerAdmin [email protected] ServerAlias cs75.net ServerName www.cs75.net SSLCertificateChainFile /path/to/gd_bundle.crt SSLCertificateFile /path/to/cs75.crt SSLCertificateKeyFile /path/to/cs75.key SSLEngine on </VirtualHost>

Page 5: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

4

mod_rewrite RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.cs75\.net [NC] RewriteRule (.*) https://www.cs75.net/$1 [R=301,L]

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Page 6: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

5

XAMPP

  Linux, Mac OS, Solaris, Windows   Apache   MySQL   PHP   Perl

Image from pplware.com.

Page 7: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

6

VirtualBox

Image from wikipedia.org.

Page 8: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

7

Forms   Text Fields

<input name="email" type="text" />

  Password Fields <input name="password" type="password" />

  Hidden Fields <input name="id" value="123" />

  Checkboxes <input checked="checked" name=“remember" type="checkbox" />

  Radio Buttons <input name="gender" type="radio" value="F" /> <input name="gender" type="radio" value="M" />

  Drop-Down Menus <select name=“state"> <option value=""></option> <option value=“MA"></option> <option value=“NY"></option> </select>

  Text Areas

<textarea name=“comments"></textarea>

Page 9: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

8

Forms

Page 10: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

9

PHP

http://us3.php.net/manual/en/

Image from php.net.

Page 11: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

10

suPHP

http://www.suphp.org/

Image from suphp.org.

Page 12: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

11

<?php

http://us2.php.net/manual/en/langref.php

Page 13: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

12

Variables

“A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores.”

Excepted from http://us2.php.net/manual/en/language.variables.php.

Page 14: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

13

Types   boolean   integer   float   string

  array   object

  resource   NULL

  mixed   number   callback

Page 15: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

14

References

http://us2.php.net/manual/en/language.references.php

Page 16: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

15

Superglobals

  $_COOKIE   $_ENV   $_FILES   $_GET   $_POST   $_REQUEST   $_SERVER   $_SESSION

Page 17: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

16

Arrays

http://us2.php.net/array

Page 18: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

17

Loops

  for   while   do ... while   foreach

Page 19: lecture1 - cdn.cs75.netcdn.cs75.net/2011/summer/lectures/1/lecture1.pdf · Title: lecture1.ppt Author: malan Created Date: 6/29/2011 2:33:19 PM

18

Computer Science S-75 Building Dynamic Websites Harvard Summer School

http://www.cs75.net/

Lecture 1: PHP

David J. Malan

[email protected]