Claudia B.: PHP if-Bedingung geht nicht

Hallo,

warum funtzt meine Bedingung nicht?

<?php
if ($titlean < 1)
//show
 {
 echo"<title>Text| {$ad['sub']}  {$ad['cat']}"
 {
else
//index
 {
 echo"<title>Text| asfdasdfadfasdf</title>"
 }
?>

Danke.

  1. N'Abend

    warum funtzt meine Bedingung nicht?

    Die macht was nicht? Was tut sie denn stattdessen? Was soll sie denn tun? Was ist $titlean?

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hi Rouven,

      kann es sein dass

      echo"<title>Text| {$ad['sub']}  {$ad['cat']}"

      von der Aussage nicht stimmt

      Es soll nämlich wenn "$titlean < 1"
      diese Zeile Ausgegeben werden.

      wenn $titlean =1
      soll die Zweite zeile ausgegeben werden.

      Kann es sein dass ich in der Logik einen Fehler habe,
      oder

      echo"<title>Text| {$ad['sub']}  {$ad['cat']}"

      gar nicht funktioniert?

      Danke.

      1. Hi,

        Danke.

        lass Dir doch einfach mal die Werte der Variablen ausgeben. Ganz vermutlich erlebst Du dann eine kleine Ueberraschung.   :-)

        Gruss,
        Ludger

      2. Hi Claudia,

        Kann es sein dass ich in der Logik einen Fehler habe,
        oder ... gar nicht funktioniert?

        Hast du error_reporting auch mal auf E_ALL gesetzt und geguckt, ob PHP dir was ausspuckt?
        Wenn ja, was?

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Man kann die Menschen zur Vernunft bringen, indem man sie dazu verleitet, daß sie selbst denken. (Voltaire)
  2. Hallo Claudia,

    if ($titlean < 1)
    {
    echo"<title>Text| {$ad['sub']}  {$ad['cat']}"
    {
    else

    Es scheint mir, dass "deine" Syntax noch ziemlich unsicher ist.
    Ich würde dir raten, es wie folgt zu machen:

    if (BEDINGUNG) {
        BEFEHL;
    } else {
        BEFEHL;
    }

    Wenn die Syntax übersichtlicher ist, fällt sofort auf, dass du die Semikolons vergessen hast und bei dir außerhalb des echos 3 geschweifte Klammern aufgehen, aber nur eine zu.

    Grüße
    Christian

  3. Hallo, Claudia

    <?php
    if ($titlean < 1)
    //show
    {
    echo"<title>Text| {$ad['sub']}  {$ad['cat']}"
    {

    ^
        |
        ------------------------------------------------------
                                                              |
    Fall du dich nicht beim Posten vertippt hast, würde ich hier
    mal das { durch ein } ersetzen (in diesem Fall müßtest du aber auch ne häßliche Fehlermeldung von PHP bekommen haben)
    Fall dieser Fehler nur ein Tipfheler im Post war und du keine Fehlermeldung von PHP kriegst, sondern einfach dein Script nicht funktioniert, dann brauchen wir schon etwas mehr Infos, was du eigentlich erreichen willst. Ansonsten ist Ludgers Tip sehr hilfreich.

    liebe Grüße

    mbr

  4. Hallo,

    warum funtzt meine Bedingung nicht?

    <?php
    if ($titlean < 1)

    in klammern steht die bedingung. ist diese wahr wird der then zweig ausgeführt.
    offensichtlich stimmt deine bedingung nicht.
    möglicherweise steht in $titlean eine zeichenkette. was soll herauskommen, wenn diese mit der zahl 1 verglichen wird?
    daher sollten bedingungen immer auch gecastet werden.
    z.b. ((int) $titlean < 1)  für einen numerischen vergleich
    oder  ($titlean <> (string) 1)  für einen zeichenvergleich

    sonst entstehen die "sicherheitslücken" in php