Parse error: syntax error, unexpected '-> " (T_OBJECT_OPERATOR)

J'ai le sentiment que cela peut être une simple erreur de syntaxe que je suis tout simplement pas voir, comme je l'ai eu à fouiller dans le code et ne peut pas comprendre pourquoi j'obtiens l'erreur ci-dessus. Le code je suis en train de travailler sur un tutoriel de un SAM livres, sur la construction d'un calendrier de classe. Pour mémoire, je suis en cours d'exécution PHP 5.4.7. Le code ci-dessous appartient à un include que je vais montrer ci-dessous..

function date_pulldown($name) {
$this->name = $name;
}
function setDate_global( ) {
if (!this->setDate_array($GLOBALS['$this->name'])) {
return $this->setDate_timestamp(time());
}
return true;
}
function setDate_timestamp($time) {
$this->timestamp = $time;
return true;
}
function setDate_array($inputdate) {
if (is_array($inputdate) &&
isset($inputdate["mon"]) &&
isset($inputdate["mday"]) &&
isset($inputdate["year"])) {
$this->timestamp = mktime(11, 59, 59, $inputdate["mon"], $inputdate["mday"], $inputdate["year"]);
return true;
}
return false;       
}
function setYearStart($year) {
$this->yearstart = $year;
}
function setYearEnd($year) {
$this->yearend = $year;
}
function getYearStart() {
if ($this->yearstart < 0) {
$nowarray = getdate(time());
$this->yearstart = $nowarray[year]-5;
}
return $this->yearstart;
}
function getYearEnd() {
if ($this->yearend < 0) {
$nowarray = getdate(time());
$this->yearend = $nowarray[year]+5;
}
return $this->yearend;
}
function output() {
if ($this->timestamp < 0) {
$this->$setDate_global();
}
$datearray = getdate($this->timestamp);
$out = $this->day_select($this->name, $datearray);
$out .= $this->month_select($this->name, $datearray);
$out .= $this->year_select($this->name, $datearray);
return $out;
}
function day_select($fieldname, $datearray) {
$out = "<select name=\"$fieldname"."[mday]\">\n";
for ($x=1; $x<=31; $x++) {
$out .="<option value=\"$x\"".($datearray["mday"]==($x)?" SELECTED":"").">".sprintf("%02d", $x)."\n";
}
$out .="</select>\n";
return $out;
}
function month_select($fieldname, $datearray) {
$out = "<select name=\"$fieldname"."[mon]\">\n";
for ($x=1; $x<=12; $x++) {
$out .="<option value=\"".($x)."\"".($datearray["mon"]==($x)?" SELECTED":"")."> ".$this->months[$x-1]."\n";
}
$out .="</select>\n";
return $out;
}
function year_select($fieldname, $datearray) {
$out = "<select name=\"$fieldname"."[year]\">";
$start = $this->getYearStart();
$end = $this->getYearEnd();
for ($x=$start; $x<$end; $x++) {
$out .="<option value=\"$x\"".($datearray["year"]==($x)?" SELECTED":"".">$x\n";
}
$out .="</select>\n";
return $out;
}
}
?>

Et le code pour l'affichage (y compris) page:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example 12.4 - Using the date_pulldown Class</title>
</head>
<?php
include("date_pulldown.php");
$date1 = new date_pulldown("fromdate");
$date2 = new date_pulldown("todate");
$date3 = new date_pulldown("foundingdate");
$date3->setYearStart(1972);
if (empty($foundingdate)) 
$date3->setDate_array(array('mday'=>26, 'mon'=>4, 'year'=>1984));
?>
<body>
<form>
From:<br />
<?php print $date1->output(); ?><br /><br />
To:<br />
<?php print $date2->output(); ?><br /><br />
Company founded:<br />
<?php print $date3->output(); ?><br /><br />
<input type="submit" />
</form>    
</body>
</html>
  • L'erreur de donner un n ° de la ligne?
  • Quelle est l'exacte et complète message d'erreur? La ligne de code qui correspond-il à?
  • Btw après la correction que vous avez une erreur dans year_select(). $out .="<option value=\"$x\"".($datearray["year"]==($x)?" SELECTED":"".">$x\n"; vous devriez avoir une fermeture de parenthèses après le :""
  • désolé, l'erreur initiale a été sur la ligne 14.
InformationsquelleAutor Shane Malone | 2013-03-05