Kalle: checked ein/aus

Guten Abend alle miteinander,

wenn Nichtinformatiker sich mit php versuchen, stellen sich bitte auch solche Fragen:

Die beiden Ersten if($check ==... sind ok.

<?PHP
   $check = 1;
   $ein = 1;

if($check == 1){echo "<input type=checkbox name=ckbx >";}

if($check == 1){echo "<input type=checkbox name=ckbx checked >";}

if($check == 1){echo "<input type=checkbox name=ckbx
                        <?PHP if($ein == 1 ){echo "checked";}?> >";}
?>

In der Dritten if(check ==..., soll "checked"
abhängig von $ein sein; funktioniert aber nicht.
 - Warum bitte nicht?
 - Wenn möglich, bitte eine Lösung.

Vielen Dank für Eure Unterstützung!

  1. he

    if($check == 1){echo "<input type=checkbox name=ckbx
                            <?PHP if($ein == 1 ){echo "checked";}?> >";}

    Deine zweite if Abfrage zu $ein wird einfach ausgegeben, da sie in echo "" steckt.

    gruß bascombe

    1. Mir waere auch nicht bewusst, dass man innerhalb von php Tags noch mal welche aufmachen kann.

      if  ($ein == 1)
      {
       $status = "checked"
      }

      if ($check == 1)
      {
       echo "<input type='checkbox' name='ckbx' $status>";
      }

      Oder:

      if ($check == 1)
      {
      ?>
       <input type='checkbox' name='ckbx' <?php echo ($status) ?>>
      <?php
      }

      Oder, oder, oder....

      1. he

        if ($check == 1)
        {
        echo "<input type='checkbox' name='ckbx' $status>";
        }

        Müsste es nicht so aussehen:

        if ($check == 1)
        {
        echo '<input type="checkbox" name="ckbx" '.$status.'>';
        }

        Wie dem auch sei; ich war der Meinung, nicht gleich alles servieren zu müssen.

        gruß bascombe

      2. Hallo, ich habe Deinen Hinweis gleich ausprobiert

        if  ($ein == 1)
        {
        $status = "checked"
        }

        if ($check == 1)
        {
        echo "<input type='checkbox' name='ckbx' $status>";
        }

        und es funktioniert einwandfrei.
        Danke für die "Nachhilfe"!

        Dir und Allen im Forum
        ein gemütliches und kreatives Wochenende
        Kalle

  2. Hallo Kalle,

    wenn Nichtinformatiker sich mit php versuchen, stellen sich bitte auch solche Fragen:

    Auch Nichtinformatiker sollten wissen, dass Fehlermeldungen hilfreich sind ;-)

    Schalte mal die Anzeige von Fehlermeldungen bei dir ein, dann wirst du sehen, dass dein Code gar nicht komplett geparst wird, weil die Syntax fehlerhaft ist.

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /Users/johannes/test.php on line 10

    Ich würde dir auch dazu raten, einen Editor mit Syntax-Highlighting zu verwenden, da solche Fehler damit recht deutlich ins Auge fallen. Das geht übrigens sogar hier im Forum:

    <?PHP

    $check = 1;
       $ein = 1;

    if($check == 1){echo "<input type=checkbox name=ckbx >";}

    if($check == 1){echo "<input type=checkbox name=ckbx checked >";}

    if($check == 1){echo "<input type=checkbox name=ckbx
                            <?PHP if($ein == 1 ){echo "checked";}?> >";}
    ?>

      
    Schöne Grüße,  
      
    Johannes