Мой PHP
файл начинается сПочему эта строка ломает мою страницу?
<?php
$tm = new TeamManager();
?>
<script type="text/javascript">
var team = <?php echo json_encode($tm->GetWholeTeam()); ?>;
</script>
, а остальное не читается, по неизвестным причинам. Я сузили его до линии <?php echo json_encode($tm->GetWholeTeam()); ?>
, но никаких ошибок не показывает, даже если добавить
error_reporting(-1);
ini_set('display_errors', 'On');
в верхней части сценария. Для справки, мой TeamManager
класс определен в
<?php
// Gets included in functions.php
final class MySqlInfo
{
const TEAMTABLENAME = 'mems';
const PROJSTABLENAME = 'projs';
public static function getTeamTableName ()
{
return self::TEAMTABLENAME;
}
public static function getProjectsTableName ()
{
return self::PROJSTABLENAME;
}
}
final class MethodResult
{
public $succeeded;
public $message;
public function MethodResult ($succeededInit = NULL, $messageInit = NULL)
{
$this->$succeeded = $succeededInit;
$this->$message = $messageInit;
}
}
final class TeamMember
{
public $name; // team member name
public $title; // team member title
public $bio; // team member bio
public $sord; // team member sort order
public $picfn; // team member profile picture file name
public function TeamMember ($name_init, $title_init, $bio_init, $sord_init, $picfn_init)
{
$this->name = $name_init;
$this->title = $title_init;
$this->bio = $bio_init;
$this->sord = $sord_init;
$this->picfn = $picfn_init;
}
}
final class TeamManager
{
public function TeamManager ()
{
// ....
}
public function addMember (TeamMember $M)
{
$q = "INSERT INTO " . MySqlInfo::TEAMTABLENAME . " (" . implode(',', array($M->name, $M->title, $M->bio, $M->sord, $M->picfn)) . ") VALUES ('" . implode('\',\'', array($_POST['fullname'], $_POST['title'], $_POST['bio'], $_POST['sord'], $targetFileName)) . "')";
//^query for inserting member M to the database
if (!$wpdb->query($q))
{
return new MethodResult(false, 'Query to insert new team member failed');
}
// else
return new MethodResult(true, 'Successfully added new member' . $M->name);
}
public function getWholeTeam ()
{
$q = "SELECT name,title,bio,sord,picfn FROM " . MySqlInfo::TEAMTABLENAME;
$teamRows = $wpdb->query($q);
return $teamRows;
}
}
?>
, но я не получаю никаких ошибок на этой странице, либо. Я также запускаю все через валидатор онлайн PHP
и не получаю никаких ошибок. Что дает?
Это, скорее всего, ошибка Javascript, а не ошибка PHP. После загрузки страницы просмотрите источник. Я подозреваю, что команда «var team» инициализирована неправильно. – Kamehameha