Hendrik: Fehler im Datum...

Hey!

Ich habe ein Problem. Ich habe mir einen Weblog programmiert und speichere dabei natürlich immer das Datum. Dies ist meine Datumsfunktion:

function datum($t) {
  $monat = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
  if ($t == "now") $ergebnis = date("j. ").$monat[date("n")-1].date(" Y, H:i");
  else $ergebnis = date("j. ",$t).$monat[date("n")-1],$t.date(" Y, H:i:s" $t);
  return $ergebnis;
}

?>

Eigentlich ja ziemlich klar, oder?

Natürlich binde ich das Datum über <?=$datum ?> ein.

Jetzt zeigt mir der Browser aber immer folgendes:

Parse error: parse error, unexpected ',' in (Pfad) on line 47

Was soll ich denn jetzt machen? Immer wenn ich die Kommas vor den $t entferne heißt es immer:

Parse error: parse error, unexpected T_VARIABLE in (Pfad) on line 47

Ich weiß mir nicht mehr zu helfen. Kann sich jemand mal das Script ansehen???

Wäre super!

Hendrik

  1. Hi Hendrik,

    if ($t == "now") $ergebnis = date("j. ").$monat[date("n")-1].date(" Y, H:i");
      else $ergebnis = date("j. ",$t).$monat[date("n")-1],$t.date(" Y, H:i:s" $t);

    ^^

    Auch wenn du uns nicht gesagt hast, welche Zeile der von dir geposteten den nun Zeile
    47 ist, so flüstert mit meine Glaskugel unüberhörlich zu, dass an der oben mit ^^ markierten
    Stelle der bzw. ein Fehler liegt.

    Sollte das nicht vielleicht doch eher $monat[date("n", $t) - 1] heißen?

    Übrigens: Zum besseren Verständnis deines Codes und zur besseren Übersicht darfst du gerne
    auch ein paar mehr Leerzeichen setzen und etwas öfter die Return Taste drücken. Weiterhin
    würde ich wie vorhin erst bereits hier gesagt dir empfehlen nicht auf die geschweiften
    Klammern zu verzichten, auch wenn es möglich ist.

    MfG, Dennis.

    1. Hey

      Sollte das nicht vielleicht doch eher $monat[date("n", $t) - 1] heißen?

      Tja, das klappt leider auch nicht. Mein Script sieht jetzt so aus:

      function datum($t) {
        $monat = array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
        if ($t == "now") $ergebnis = date("j. ").$monat[date("n")-1].date(" Y, H:i");
        else $ergebnis = date("j. " $t).$monat[date("n", $t) - 1],$t.date(" Y, H:i:s" $t);
        return $ergebnis;
      }

      Aber ich bekomme jetzt diese Meldung beim Aufrufen:

      Parse error: parse error, unexpected T_VARIABLE in (Pfad) on line 47

      Ich verstehe das alles nicht! Weiß denn niemand darüber Bescheid???

      Hendrik

      1. Hallo Hendrik.

        Aber ich bekomme jetzt diese Meldung beim Aufrufen:

        Parse error: parse error, unexpected T_VARIABLE in (Pfad) on line 47

        Vermutlich liegt es hieran:

        else $ergebnis = date("j. " $t).$monat[date("n", $t) - 1],$t.date(" Y, H:i:s" $t);
                                                                                ^

        Allgemein: wenn du deinen Code lesbar halten willst, solltest du *immer* die geschweiften Klammern um Anweisungsblöcke setzen.

        Einen schönen Donnerstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/
        1. Hallo.

          Vermutlich liegt es hieran:

          Auf die Textarea ist kein Verlass, also nochmal:

          else $ergebnis = date("j. " $t).$monat[date("n", $t) - 1],$t.date(" Y, H:i:s" $t);
                                                                   ^
                                                                   ^

          Einen schönen Donnerstag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          mathbr:del.icio.us/ mathbr:w00t/
  2. Hallo

    function datum($t) {
      $monat = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
      if ($t == "now") $ergebnis = date("j. ").$monat[date("n")-1].date(" Y, H:i");
      else $ergebnis = date("j. ",$t).$monat[date("n")-1],$t.date(" Y, H:i:s" $t);
      return $ergebnis;
    }

    ?>

    Jetzt zeigt mir der Browser aber immer folgendes:

    Parse error: parse error, unexpected ',' in (Pfad) on line 47

    Welche ist die Zeile 47? die mit dem else-Zweig?

    date("j. ",$t).$monat[date("n")-1],$t.date(" Y, H:i:s" $t)

    Nach $monat[...] steht dort ein "unexpected", also unerwartetes Komma, dahinter wird's für mich unübersichtlich. Ganz besonders in Hinsicht auf die Kommata.

    Was soll ich denn jetzt machen?

    ... dir _in_aller_Ruhe_ deinen Quelltext ansehen. :-)

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.1
  3. Hi,

    else $ergebnis = date("j. ",$t).

    hier weißt Du, daß der . der Verkettungsoperator für Zeichenketten ist.

    $monat[date("n")-1],

    hier versuchst Du trotzdem, ein , statt einem . als Verkettungsoperator für Zeichenketten zu verwenden.

    Warum?

    Eigentlich ja ziemlich klar, oder?

    Eigentlich schon, aber warum Dir nicht?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.