unexpected T

$pages = array("grac", "zamknij", "dolaczyc");
$pagesid = array("showNews", "showThread", "showProfile");

foreach ($pagesid as $page) {
  if (isset($_GET[$page])) {
  include('sobra/'.$page.'.php');
  }
}

// just pages
elseif (in_array($_GET['page'], $pages)) {
include("$_GET[page].php");
}

// error
else include('error.php');

gives:
Parse error: syntax error, unexpected T_ELSEIF in C:WAMPwwwsdgagindex.php on line 33

This should work i think.. what the problem can be?

Thanks


Perhaps another approach. Do your logic, and determine what page you want to include ultimately. After all of the logic has been done, include your determined page.

The following is untested, and may contain errors. Let me know, and I'll update the code.

<?php

  // Predefined list of acceptable pages
  $pages = array("one","two","three");
  $pagesid = array("four","five","six");

  // Gather any user-defined page request
  $desPage = trim($_GET["page"]);

  // Assume they are wrong, and need to see error.php
  $pageToLoad = "error.php";

  // If the user request is not empty
  if (!empty($desPage)) {
    if (in_array($desPage,$pages)) {
      $pageToLoad = $desPage . ".php";
    }
  } else {
  // User request is empty, check other variables
    foreach ($pagesid as $pageid) {
      if (isset($_GET[$pageid])) {
        $pageToLoad = $pageid . ".php";
      }
    }
  }

  // Show output page
  include($pageToLoad);

?>

elseif和else不附加到if,你把它们放在foreach循环块之外。


There is one closing bracket to much before the else.

It should read:

$pages = array("grac", "zamknij", "dolaczyc");
$pagesid = array("showNews", "showThread", "showProfile");

foreach ($pagesid as $page) {
  if (isset($_GET[$page])) {
    include('sobra/'.$page.'.php');
  }
  // just pages
  else if (in_array($_GET['page'], $pages)) {
    include("$_GET[page].php");
  }
  // error
  else include('error.php');
}   

If you indent your source code correctly such errors show up fast and you can fix them yourself.

链接地址: http://www.djcxy.com/p/12026.html

上一篇: 解析错误:语法错误,意外的T

下一篇: 意外的T