University of Washington CSE 154

Section 6: JSON and Basic PHP

Except where otherwise noted, the contents of this document are Copyright © Marty Stepp, Jessica Miller, and Victoria Kirst. All rights reserved. Any redistribution, reproduction, transmission, or storage of part or all of the contents in any form is prohibited without the author's expressed written permission.

Valid HTML5 Valid CSS

IMPORTANT NOTES:

Exercise : Address Book, Client-Side (by Alex Miller)

screenshot

Write the JS code to connect to a server-side JSON address book called addressbook.php. Start from this HTML. (sample solution) (solution)

Recall: Creating an Ajax POST request

var params = new FormData();
params.append("name", value);
params.append("name", value);

var ajax = new XMLHttpRequest();
ajax.onload = functionName;
ajax.open("POST", "url", true);
ajax.send(params);

Exercise : Kitties (by Alex Miller)

Given 5 image files (kittie1.jpg, kittie2.jpg, etc.), write a PHP page that displays all 5 images as seen here (view source on output to get starter code!).

screenshot screenshot screenshot screenshot screenshot

Exercise solution

<!DOCTYPE html>
<html>
  <head>
	 <title>kitties</title>
  </head>
  <body>
	<div>
	  <?php for ($i = 1; $i <= 5; $i++) { ?>
	  	<img src="kittie<?= $i ?>.jpg" />
	  <?php } ?>
	</div>
  </body>
</html>

Exercise : Buggy PHP

The following PHP pages each contain one or more bugs. The bugs could be syntax errors or incorrect logic. Look at each page, find the bug(s), and correct the errors.

  1. buggy page 1 (source) - variables, strings, if/else
  2. buggy page 2 (source) - variables, if/else, comments
  3. buggy page 3 (source) - variables, for loops, string concatenation
  4. buggy page 4 (source) - arrays, foreach
  5. buggy page 5 (source) - arrays, foreach

Exercise debugging tips

Exercise solutions

  1. buggy page 1, fixed
  2. buggy page 2, fixed
  3. buggy page 3, fixed
  4. buggy page 4, fixed
  5. buggy page 5, fixed

Exercise : Fibonacci (by Rishi Goutam)

Modify the following HTML to print the first 20 Fibonacci numbers in an ordered list using PHP. Recall that in the Fibonacci sequence, each number is the sum of the two previous numbers, with the first and second numbers being 0 and 1.

<!DOCTYPE html>
<html>
	<head>
		<title>Fibonacci Sequence</title>
	</head>
	<body>
		<h1>The first twenty Fibonacci numbers:</h1>

		<!-- (your code here!) -->
	</body>
</html>

Exercise solution

	...
		<h1>The first twenty Fibonacci numbers:</h1>
		<?php
		$first = 0;
		$second = 1;
		for ($i = 0; $i < 20; $i++) {
			?>
			<li><?= $first ?></li>
			<?php
			$temp = $second;
			$second += $first;
			$first = $temp;
		}
		?>