Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP erkennt seinen Code nicht (<?)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP erkennt seinen Code nicht (<?)

    Hallo Forum,
    ich versuche mich gerade in PHP und habe folgendes Problem: Der PHP-Code in den Input-Feldern wird nicht ausgeführt sondern angezeigt. Was mache ich falsch?
    PS: Habe PHP 5.3


    Code:
    <?php
      if (isset($_POST["verschicken"])) {
        $dezimal = $_POST["dezimal"];
        $hexa = dechex($dezimal);
        $binaer = decbin($dezimal);
        $oktal = decoct($dezimal);
      }
    ?>
    
    <html>
    <head>
      <titel>Konverter</titel>
    </head>
    <body>
      <form method="POST">
        <input type="text" name="dezimal" value="<?=isset($dezimal)?$dezimal:'' ?>" /> // im input-Feld erscheint anstelle des Werts der fette Text
    Die Dezimalzahl<br /><br />
      <input type="text" name="hexa" value="<?=isset($hexa)?$hexa:''?>" />
    in hexadezimaler Schreibweise<br />
      <input type="text" name="binaer" value="<?=isset($binaer)?$binaer:''?>" />
    in bin&auml;rer Schreibweise<br />
      <input type="text" name="oktal" value="<?=isset($oktal)?$oktal:''?>" />
    in oktaler Schreibweise<br />
      <input type="submit" name="verschicken" value="Konvertieren" /> </form>
    </body>
    </html>
    Geht nicht, gibts nicht!

  • #2
    PHP 5.3 ist auch ganz aktuell. Bei der Version muss sehr wahrscheinlich short_open_tag auf On sein in der php.ini.

    Kommentar


    • #3
      Zitat von erc Beitrag anzeigen
      PHP 5.3 ist auch ganz aktuell. Bei der Version muss sehr wahrscheinlich short_open_tag auf On sein in der php.ini.
      Danke für den Hinweis (man fängt klein an)
      Geht nicht, gibts nicht!

      Kommentar


      • #4
        Wo sind denn ShortOpen-Tags zu sehen? <?= ist nur ein Shortcut für <?php echo, aber kein ShortOpen-Tag
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Zitat von Arne Drews Beitrag anzeigen
          Wo sind denn ShortOpen-Tags zu sehen? <?= ist nur ein Shortcut für <?php echo, aber kein ShortOpen-Tag
          Wir reden von PHP 5.3. In über 10 Jahren entwicklen sich Konzepte weiter...

          Kommentar


          • #6
            Aber <?= war doch auch in 5.3 kein ShortOpen-Tag, oder?
            Ich sehe gerade den Zusammenhang zur php-ini-Einstellung short_open_tag nicht...
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Hinweis:

              Vor PHP 5.4.0 betraf diese Option auch die Kurzform <?=, die zu <? echo identisch ist. Um diese Kurzform nutzen zu können, musste short_open_tag auf on gesetzt sein. Seit PHP 5.4.0 ist <?= immer verfügbar.
              Quelle: http://php.net/manual/de/ini.core.php
              sorry, shift-taste kaputt

              Kommentar


              • #8
                Das setzen von
                short_open_tag = On hat keine Änderung bewirkt (wobei es auch als Default-Wert angegeben ist).
                Geht nicht, gibts nicht!

                Kommentar


                • #9
                  Hast du das auch mit phpinfo() kontrolliert, das da angegeben ist und die richtige php.ini geändert?

                  Ich würde mir sowieso ein aktuelles PHP 7 besorgen. 5.3 ist ja schon Steinalt und gerade ab 5.4 und ab 7 sind da einige tolle Sachen dazugekommen, von dem Perfromanceschub auf 7 mal ganz abgesehen. Am Hoster kann man das oft einfach per DropDown im Kontrollcenter umstellen. Schau doch da mal.

                  Mit einer so alten Version wirst du mit vielen Bibliotheken immer wieder auf Probleme stossen.
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Hast du mal Probiert Leerzeichen zu setzen?
                    PHP-Code:
                          <input type="text" name="dezimal" value="<?= isset($dezimal) ? $dezimal '' ?>" />

                    Kommentar


                    • #11
                      Mach da
                      PHP-Code:
                        <?=isset
                      .
                      ein Leerzeichen nach dem Gleichheitszeichen hin.
                      PHP-Code:
                        <?= isset($dezimal)?$dezimal:''?>

                      EDIT: zu spät.

                      Kommentar


                      • #12
                        Zitat von hausl Beitrag anzeigen
                        Hast du das auch mit phpinfo() kontrolliert, das da angegeben ist und die richtige php.ini geändert?

                        Ich würde mir sowieso ein aktuelles PHP 7 besorgen. 5.3 ist ja schon Steinalt und gerade ab 5.4 und ab 7 sind da einige tolle Sachen dazugekommen, von dem Perfromanceschub auf 7 mal ganz abgesehen. Am Hoster kann man das oft einfach per DropDown im Kontrollcenter umstellen. Schau doch da mal.

                        Mit einer so alten Version wirst du mit vielen Bibliotheken immer wieder auf Probleme stossen.
                        Aha, ich habe an der falschen Stelle auf On gesetzt. Jetzt funktioniert es, Danke.
                        Das mit Version 7 ist meine nächste Aufgabe, Hoster bin ich leider selbst.
                        Geht nicht, gibts nicht!

                        Kommentar


                        • #13
                          Nichts desto trotz würde ich dennoch Leerzeichen setzen, allein schon wegen der besseren Lesbarkeit.

                          Kommentar


                          • #14
                            Zitat von Meister1900 Beitrag anzeigen
                            Vor PHP 5.4.0 betraf diese Option auch die Kurzform <?=, die zu <? echo identisch ist. Um diese Kurzform nutzen zu können, musste short_open_tag auf on gesetzt sein. Seit PHP 5.4.0 ist <?= immer verfügbar.
                            Quelle: http://php.net/manual/de/ini.core.php
                            Das war mir nicht bekannt, danke für die Info!
                            Competence-Center -> Enjoy the Informatrix
                            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                            Kommentar

                            Lädt...
                            X