Dreaded expecting `T_VARIABLE' or... Error -- long post

From: Date: Fri, 11 Oct 2002 16:34:19 +0000
Subject: Dreaded expecting `T_VARIABLE' or... Error -- long post
Groups: php.general 
Request: Send a blank email to php-general+get-119664@lists.php.net to get a copy of this message
Hi Apologies if this question has been answered before and I can't find it. I have searched and although finding similar issues, I haven't been able to fix. I have a file that creates a search for and then is supposed to post to itself to retriev results. When I add the first function (the search form) everything seems OK. The page renders, the select menus are populated from my mySQL db. When I add the second function (the results). I start getting an error that refers to a line number in my initial function that was previously OK. I gather the error has something to do with syntax, but I can't find it. I'll show some examples and then detail the error. My intial code that creates the search form and works is: PHP: ------------------------------------------------------------------------ // Handles session initialization include("open_session.php"); if(!isset($mainfile)) {   include("mainfile.php"); } // Global configuration data include("config.php"); // Generates page header include ("header.php"); function sform() { include("config.php"); $box_title = "Search Form"; $box_stuff = "<table width=\"100%\"><tr><td align=\"left\">"; $box_stuff .= "<span class=\"finePrint\">Search hints can go here</span></td></tr></table>"; $box_stuff .= " <center><form action=\"./search_users.php\" method=\"post\"> <table><tr><td colspan=3 align=\"left\"><h4>Search for:</h4></td></tr> <tr><td align=\"left\"><font size=\"-1\">Company</font></td><td align=\"left\"><font size=\"-1\">Category</font></td><td align=\"left\"><font size=\"-1\">City</font></td></tr> <tr><td align=\"left\" valign=\"top\"><input name=\"company\"></td><td align=\"left\" valign=\"top\"> <select name=\"cat\" size=\"7\" multiple>\n"; $cat_result = mysql_query("select cat, catkey, cattext, count(cat) AS num_type FROM " . $table_prefix."users LEFT JOIN " . $table_prefix."users_cat ON cat=catkey GROUP BY cattext ORDER BY cattext"); $categories = mysql_fetch_array($cat_result); if ($categories) {     while ($c2 = mysql_fetch_array($cat_result)) {     $num_type = $c2[num_type];     $box_stuff .= "<option name=\"cat\" value=\"$c2[catkey]\">$c2[cattext] ( $num_type)</option>";     } } $box_stuff .= " </select> </td> <td align=\"left\" valign=\"top\"> <select name=\"city\" size=\"7\" multiple>\n"; $city_result = mysql_query("select city, count(city) AS num_type FROM " . $table_prefix."users GROUP BY city ORDER BY city"); $cities = mysql_fetch_array($city_result); if ($cities) {     while ($c3 = mysql_fetch_array($city_result)) {     $num_type3 = $c3[num_type];     $box_stuff .= "<option name=\"city\" value=\"$c3[city]\">$c3[city] ($num _type3)</option>";     } } $box_stuff .= "</select></td></tr>\n"; $box_stuff .= " <tr><td align=\"left\" colspan=3 align=\"center\"><input type=\"submit\" value=\"Search\"> Note: searching for all can produce a large page!</td></tr> </table><input type=\"hidden\" name=\"op\" value=\"search\" /> </form></center>"; thememainbox($box_title, $box_stuff); include("footer.php"); } switch($op) {     case "search":         search();         break;     default:         sform();         break;   } ------------------------------------------------------------------------ Now, when I add anything for the function search() , even a simple message printed to the page such as: PHP: ------------------------------------------------------------------------ function search() {     include('config.php');     global ;     $box_title = "Search Results";     $box_stuff .= "Results here";     thememainbox($box_title, $box_stuff);     include("footer.php"); } ------------------------------------------------------------------------ I get the error: Parse error: parse error, expecting T_VARIABLE' or '$'' in /Library/WebServer/Documents/phpwebsite/search_users.php on line 45 BTW... line 45 is part of the initial funtion that was working before: PHP: ------------------------------------------------------------------------ $cat_result = mysql_query("select cat, catkey, cattext, count(cat) AS num_type FROM " . $table_prefix."users LEFT JOIN " . $table_prefix."users_cat ON cat=catkey GROUP BY cattext ORDER BY cattext"); $categories = mysql_fetch_array($cat_result); if ($categories) {     while ($c2 = mysql_fetch_array($cat_result)) {     $num_type = $c2[num_type];     $box_stuff .= "<option name=\"cat\" value=\"$c2[catkey]\">$c2[cattext] ( $num_type)</option>";     }  //THIS IS LINE 45 } ------------------------------------------------------------------------ I feel that if I can get past this, I can likely get my actual search to work. If you're curious, the following code is what I actually have in mind for the search function. I just can't get far enough along to even test it. I would surely appreciate any advice that anyone can extend.: PHP: ------------------------------------------------------------------------ function search() { include("config.php"); global $company, $cat, $city, $catkey, $cattext, Order; $box_title = "Search Results"; if ($cat>0) {     $classreq="AND catkey=$cat";     }   if (!$Order) {     $Order="company";     } $query = "SELECT company, city, cat, catkey, cattext FROM " . $table_prefix."users LEFT JOIN " . $table_prefix."users_cat ON cat=catkey WHERE company LIKE '%$company%' A ND city LIKE '%$city%' AND cat LIKE '%$cat%' $classreq ORDER BY $Order"; $result = mysql_query($query); $box_stuff = "<center><br>"; $box_stuff .= "<table cellpadding=1 border=0 cellspacing=0 width=\"100%\">"; if ($result){     if ($r = mysql_fetch_array($result)){         do {         $box_stuff .=" <tr class=\"type5\"><td align=\"left\">Company</td><td align=\"left\">Catego ry</td><td align=\"left\">City</td></tr> <tr class=\"type5\"><td align=\"left\">$r[company]</td><td align=\"left\">$r [cattext]</td><td align=\"left\">$r[city]</td></tr>";         } while ($r = mysql_fetch_array($result));     } else {         $box_stuff .= "<b>Search Failed</b>";     } } $box_stuff .= "</center>"; thememainbox($box_title, $box_stuff); include("footer.php"); } ------------------------------------------------------------------------ Thanks again, Verdon

« previous php.general (#119664) next »