# # 375 # 410 # ... # 518 # # sets a 400 status if missing name or gender info if(!isset($_GET["name"]) || !isset($_GET["gender"])) { header("HTTP/1.1 400 Invalid Request"); die("You need to give both a name and gender"); } $name = $_GET["name"]; $gender = $_GET["gender"]; $found = false; # searches the file for the name $lines = file("rank.txt", FILE_IGNORE_NEW_LINES); foreach($lines as $line) { $tokens = explode(" ", $line); if($tokens[0] == $name && $tokens[1] == $gender) { #print($line); $found = true; # creates and prints XML about the passed in # name and gender from the array of tokens $dom = new DOMDocument(); $baby = $dom->createElement("baby"); $baby->setAttribute("name", $name); $baby->setAttribute("gender", $gender); $dom->appendChild($baby); $year = 1890; for($i = 2; $i < count($tokens); $i++) { $rank = $dom->createElement("rank"); $rank->setAttribute("year", $year); $text = $dom->createTextNode($tokens[$i]); $rank->appendChild($text); $baby->appendChild($rank); $year += 10; } header("Content-type: text/xml"); print($dom->saveXML()); } } # if we have gotten here the name/gender combo isn't in our file. if(!$found) { header("HTTP/1.1 410 Missing Data"); die("The name and gender you supplied had no data"); } ?>