Page 1 of 1

TWF Script Errors

Posted: Wed Jun 01, 2005 12:50 am
by Ross2376
Ok, I have created a script to display some statistics from TWF (knowledge of them is irrelevant to help). Basically, they are gaming statistics. It's an XML parser. I am a semi-n00b so please don't yell at me for screw ups or irrelevant code, although I would appreciate nice suggestions :) Now I have written this script and get this one error all the time:

Parse error: parse error, unexpected $ in /home/aod/public_html/xmlfeed.php on line 143

The script is below. Line 143 is the last line. I have tried removing the last couple lines but PHP just errors on whatever the new last line is. I cant find out why it is giving me this error. Someone please advise.

Code: Select all

<?php	
	function startElement ($parser, $element, $attributes)
		{
			global $twf_matchStatus, $ladder_name, $match_status, $map_name, $player_info,
					$elementName, $player_name, $player_position, $player_join, $player_link,
					$inside_links;
			
			$inside_links = false;
			$player_name = array ();
			$player_position = array();
			$player_join = array();
			$player_link = array();
			$player_info = array (	0 => $player_name,
									1 => $player_join,
									2 => $player_position,
									3 => $player_link);
									
			while (list ($key, $value) = each ($attributes))  {
				if (($element == "LADDER") && ($key == "NAME"))  {
					$ladder_name = $value;
				} elseif (($element == "MATCH") && ($key == "STATUS"))  {
					$match_status = $value;
				} elseif (($element == "MAP") && ($key == "NAME"))  {
					$map_name = $value;
				} elseif (($element == "PLAYER") && ($key == "NAME"))  {
					$player_name[] = $value;
				} elseif ($element == "LINKS")  {
					$inside_links = true;
				}
			}
			$elementName = $element;
		}
	
	function charData ($parser, $data)
		{
			global $elementName, $player_join, $player_position, $player_link, $player_info,
					$inside_links, $rank, $wins, $losses, $forfeits, $opponent, $match_date,
					$side;
			switch ($elementName)  {
				case "RANK":
					$rank = $data;
					break;
				case "WINS":
					$wins = $data;
					break;
				case "LOSSES":
					$losses = $data;
					break;
				case "FORFEITS":
					$forfeits = $data;
					break;
				case "STATUS":
					$status = $data;
					break;
				case "OPPONENTNAME":
					$opponent = $data;
					break;
				case "MATCHDATE":
					$match_date = $data;
					break;
				case "SIDESELECTION":
					$side = $data;
					break;
				case "HTMLLINK":
					if ($inside_links)  {
						$player_link[] = $data;
					} else  {
						$opponent_link = $data;
					}
					break;
				case "POSITION":
					$player_position[] = $data;
					break;
		}
	
	function endElement ($parser, $element)
		{ }
		
	$parser = xml_parser_create();
	xml_set_element_handler ($parser, "startElement", "endElement");
	xml_set_character_data_handler ($parser, "charData");
	$xml_feed = fopen ("http://www.teamwarfare.com/xml/viewteam_v2.asp?team=Area+of+Destruction", "r");
	
	while ($xml_chunk = fread ($xml_feed, 4096))  {
		xml_parse ($parser, $xml_chunk, feof ($xml_feed));
	}
	
	fclose ($xml_feed);
	xml_parser_free ($parser);
	
	$end_array = end ($player_name);
	reset ($player_name);
	echo ("
<div align=\"left\">

<table class=\"forumline\" border=\"1\" cellpadding=\"2\" width=\"100%\">
    <tr>
        <td colspan=\"5\"><p align=\"left\"><font size=\"4\"><strong>$name</strong></font></p>
        </td>
    </tr>
    <tr>
        <td>Rank</td>
        <td>$rank</td>
        <td> </td>
        <td>Next Match</td>
        <td>$match_date</td>
    </tr>
    <tr>
        <td>Wins</td>
        <td>$wins</td>
        <td> </td>
        <td>Opponent</td>
        <td><a href=\"$opponent_link\">$opponent</a></td>
    </tr>
    <tr>
        <td>Losses</td>
        <td>$losses</td>
        <td> </td>
        <td>Map</td>
        <td>$map_name</td>
    </tr>
    <tr>
        <td>Forfeits</td>
        <td>$forfeits</td>
        <td> </td>
        <td>AoD Side</td>
        <td>$side</td>
    </tr>
    <tr>
        <td>Team Status</td>
        <td>$status</td>
        <td> </td>
        <td>AoD Participants</td>
        <td>");
		foreach ($player_name as $value)  {
			if ($value != $end_array) {
				echo ("$value, ");
			} else  {
				echo ("$value");
			}
		}
	echo ("</td></tr></table></div>");
?>

Posted: Wed Jun 01, 2005 2:59 am
by JayBird
you haven't closed the switch statement....need a closing curly brace at the end ;)

Posted: Wed Jun 01, 2005 3:29 am
by Ross2376
Ahh yes, thanks much.