Parse error: syntax error, unexpected '->', (T_OBJECT_OPERATOR)
Habe ich das Gefühl, dies kann ein einfacher syntax-Fehler, dass ich einfach nicht sehen, wie ich habe einen Sack um den code, und kann nicht herausfinden, warum ich bin immer den oben genannten Fehler. Der code, mit dem ich arbeite, ist ein tutorial von einem SAMS-Bücher, die auf den Aufbau eines calendar-Klasse. Für das Protokoll, ich bin mit PHP 5.4.7. Der code unten gehört zu einem gehören, werde ich unten zeigen..
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;
}
}
?>
Und den code für die Anzeige (einschließlich) Seite:
<!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>
Tritt der Fehler geben Sie eine Zeile #?
Was ist die genaue und vollständige Fehlermeldung? Die Zeile des Codes entspricht es?
Btw, nachdem Sie fix, Sie haben einen Fehler in year_select(). $out .="<option value=\"$x\"".($datearray["Jahr"]==($x)?" SELECTED":"".">$x\n"; sollte einer schließenden Klammern nach dem :""
sorry, der ursprüngliche Fehler war in Zeile 14.
Was ist die genaue und vollständige Fehlermeldung? Die Zeile des Codes entspricht es?
Btw, nachdem Sie fix, Sie haben einen Fehler in year_select(). $out .="<option value=\"$x\"".($datearray["Jahr"]==($x)?" SELECTED":"".">$x\n"; sollte einer schließenden Klammern nach dem :""
sorry, der ursprüngliche Fehler war in Zeile 14.
InformationsquelleAutor Shane Malone | 2013-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Zeile fehlt ein
$
vorthis
, sothis
behandelt wird, als eine Konstante, die nicht existiert, so wird als string behandelt, die nicht haben können->
nach.InformationsquelleAutor Niet the Dark Absol
Ihnen fehlen
$
Zeichen:sollte
InformationsquelleAutor Tchoupi
Zusätzlich zu den oben genannten
if (!this
zuif (!$this
Müssen Sie auch besuchen Sie diese Zeile in der Funktion
year_select
:Sieht aus wie es sollte geändert werden, um:
(Hinweis: ein paar änderungen, die ich entsprechend Ihrer Formatierung von den anderen Funktionen scheint es nicht zu sein, Konsistenz)
InformationsquelleAutor jnthnjns