PHP funktioniert nur im HTML Tag

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

  • PHP funktioniert nur im HTML Tag

    Hallo

    Ich hab auf einem Windows Server 2003, IIS 6 mit PHP 5 installiert.

    Wenn ich in der infophp.php folgendes drin zu stehen habe, dann kommt nur eine Leere Seite.

    PHP-Code:
    <? phpinfo(); ?>
    Wenn ich aber das ganze in ein html Tag setze, dann wird die Seite korrekt angezeigt.

    Nun ist meine Frage Warum geht die normale infophp.php nicht ?
    Warum muss ich es in ein hmtl Tag setzen ?

    PHP-Code:
    <html>
        <head>
            <title>PHP Test</title>
        </head>
        <body>
            <?php phpinfo(); ?>
        </body>
    </html>
    Danke im voraus

    Mfg Tocrazy4u
    Zuletzt geändert von Tocrazy4u; 22.07.2006, 01:17.
    www.tocrazy4u.de

  • #2
    Wenn du es in html setzt, heisst denn auch die Datei .html ? In diesem Falle könnte ich mir vorstellen, dass der Server nicht weiss, dass .php an den Parser durchgereicht werden sollte.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      nee die dateien selbst heissen

      info.php
      test.php

      in der info.php steht nur <?php phpinfo(); ?> und in der test.php steht eben das andere mit den html Tags.

      Mfg Tocrazy4u
      www.tocrazy4u.de

      Kommentar


      • #4
        Soooooooooooooooooo

        Inzwischen wurde mir von jemand anderen geholfen

        Die Lösung liegt in der php.ini

        Code:
        ; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
        ; NOTE: Using short tags should be avoided when developing applications or
        ; libraries that are meant for redistribution, or deployment on PHP
        ; servers which are not under your control, because short tags may not
        ; be supported on the target server. For portable, redistributable code,
        ; be sure not to use short tags.
        short_open_tag = off
        short_open_tag muss auf on sein sonst kann er kein <? verstehen.

        Mfg Tocrazy4u
        www.tocrazy4u.de

        Kommentar


        • #5
          Inzwischen wurde mir von jemand anderen geholfen
          Wenn Du unfähig bist, Dein Problem genau zu beschreiben, kannst Du auch keine Hilfe erwarten. Short-Open-Tags haben nämlich rein gar nichts mit HTML oder nicht-HTML zu tun.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Original geschrieben von derHund
            Wenn Du unfähig bist, Dein Problem genau zu beschreiben, kannst Du auch keine Hilfe erwarten. Short-Open-Tags haben nämlich rein gar nichts mit HTML oder nicht-HTML zu tun.
            Geh mal lieber schlafen, anscheinend weisst du nicht mehr was du schreibst.

            Ich habe sehr wohl eine gute Beschreibung geliefert.

            Du hast anscheinend nicht begriffen warum das so ist, aber ich werds dir mal erklären. (Bin ja kein Unmensch )

            Also, wenn in einer php datei folgender Open Tag drin steht <? und in der php.ini "short_open_tag" auf off gestellt ist, dann kannste php Dateien nur dann Anzeigen lassen, wenn du es in einen HTML Tag setzt, weil html bekannt ist, jedoch <? nicht. und bekanntlich wird unbekanntes nicht dargestellt. (hier funktonert der html Tag in gewissermasen als Dolmetscher, naja nicht ganz auf die Goldwaage legen )

            Bsp: <html> <? phpinfo(); ?> </html> infophp.php wird angezeigt

            <? phpinfo(); ?> infophp.php wird nicht angezeigt

            Änderst du aber in der php Datei den Open Tag von <? in <?php (Old scool), dann wird diese PHP datei Angezeigt.

            Heutzutage verwenden viele bzw. die meissten PHP Programmierer die sogenannten Short Open Tags <? und daher muss diese Option in der php.ini eingeschalltet sein und man muss den php-code nicht in einen html Tag einschliessen oder die Tags von <? nach <?php ändern

            Warum es in PHP5 standardmäsig aus ist, weiss ich auch nicht.

            Mfg Tocrazy4u
            www.tocrazy4u.de

            Kommentar


            • #7
              Was laberst du für eine gequirlte Scheiße Oo,

              Ob um <? oder <?php Html-Tags drumherum sind oder nicht, ist sowas von egal.
              Short-Tags = on
              <?php echo 'hallo';?> funktioniert
              <? echo 'hallo';?> funktioniert
              Short-Tags = off
              <?php echo 'hallo';?> funktioniert
              <? echo 'hallo';?> funktioniert nicht
              Das hat absolut nichts mit den umgebenden HTML-Tags zutun, wer dir was anderes erzählt hat keine Ahnung...


              [edit]
              abgesehen davon, wird derHund, mit einem Goldstern, wohl wissen was ein Short-Tag ist *hust*
              Zuletzt geändert von ghostgambler; 22.07.2006, 01:27.

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                Original geschrieben von ghostgambler
                Was laberst du für eine gequirlte Scheiße Oo,

                Ob um <? oder <?php Html-Tags drumherum sind oder nicht, ist sowas von egal.
                Short-Tags = on
                <?php echo 'hallo';?> funktioniert
                <? echo 'hallo';?> funktioniert
                Short-Tags = off
                <?php echo 'hallo';?> funktioniert
                <? echo 'hallo';?> funktioniert nicht
                Das hat absolut nichts mit den umgebenden HTML-Tags zutun, wer dir was anderes erzählt hat keine Ahnung...
                Dann mach mal folgendes:

                Short-Tags = off

                <? echo 'hallo';?> funktioniert nicht

                und nun setze mal " <? echo 'hallo';?> " in einen html Tag

                So :

                <html> <? echo 'hallo';?> </html> FUNKTIONIERT auch wenn "Short-Tags = off" IST.

                und wenn das ein Newbie wie ich das nicht weiss, wiso weshalb warum, dann ist großes wundern angesagt.

                Das ist auch der Grund gewesen warum ich die Frage gestellt hatte.
                Und wenn Ihr alle so schlau seid, dann Frag ich mich, warum das keiner gesagt hat.

                Ich dachte eigentlich ein Forum ist dafür da um anderen zu helfen, aber anscheinend wird hier nur Klug rumgeschissen und von Hilfe NULL Spur.
                www.tocrazy4u.de

                Kommentar


                • #9
                  Original geschrieben von Tocrazy4u
                  <html> <? echo 'hallo';?> </html> FUNKTIONIERT auch wenn "Short-Tags = off" IST.
                  Funktioniert bei mir NICHT

                  PHP-Quellcode
                  PHP-Code:
                  <html><? echo 'hallo'; ?></html>
                  Quellcode der beim Browser ankommt
                  Code:
                  <html><? echo 'hallo'; ?></html>
                  Vielleicht guckst du mal was wirklich bei dir im Browser ankommt?! (Ansicht->Quellcode) Die Short-Tags-Einstellung funktioniert bei mir exakt wie in der Manual beschrieben ... php hat nichts mit HTML zutun, rein gar nichts, man kann mit php auch RSS-Feeds machen, oder Grafiken ausgegeben, oder oder oder, es ist vollkommen unabhängig vom zu produzierenden Output

                  Sobald ich die Short-Tags wieder anschalte funktioniert alles wie erwartet
                  Code:
                  <html>hallo</html>

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    Keine Ahnung vieleicht muss es bei short open Tag = off der code so aussehen

                    PHP-Code:
                    <html>
                        <head>
                            <title>PHP Test</title>
                        </head>
                        <body>
                            <?php phpinfo(); ?>
                        </body>
                    </html>
                    Das hat zumindest bei mir bei ausgeschallteten Short open Tag funktioniert.

                    Wie auch immer, jetzt kenn ich die Ursache warum es nicht funktioniert hatte.
                    www.tocrazy4u.de

                    Kommentar


                    • #11
                      Original geschrieben von Tocrazy4u
                      Keine Ahnung vieleicht muss es bei short open Tag = off der code so aussehen

                      PHP-Code:
                      <html>
                          <head>
                              <title>PHP Test</title>
                          </head>
                          <body>
                              <?php phpinfo(); ?>
                          </body>
                      </html>
                      Das hat zumindest bei mir bei ausgeschallteten Short open Tag funktioniert.

                      Wie auch immer, jetzt kenn ich die Ursache warum es nicht funktioniert hatte.
                      hast du überhaupt einen blassen Schimmer wovon du redest???
                      Es gibt vier unterschiedliche Paare öffnender und schließender Tags, die in PHP verwendet werden können. Zwei davon, <?php ?> und <script language="php"> </script>, sind immer verfügbar. Die anderen beiden sind Short-Tags und ASP-Tags, die über das php.ini-Konfigurationsfile ein- und ausgeschaltet werden können.
                      Code:
                      1.  <?php echo
                           'wenn Sie XHTML- oder XML-Dokumente ausliefern wollen, machen Sie es so'; ?>
                      
                      2.  <script language="php">
                             echo 'manche Editoren(wie FrontPage) moegen
                                   keine Verarbeitungsanweisungen';
                         </script>
                      
                      3. <? echo 'das ist das Einfachste, eine SGML-Verarbeitungsanweisung'; ?>
                      
                      4.  <% echo 'Optional koennen Sie auch Tags im ASP-Stil verwenden'; %>
                         <%= $variable; # Das ist ein Abkuerzung fuer "<% echo . . ." %>
                      Nummer 1 und 2 funktionieren immer, nummer 3 und 4 nur nach Einstellung.
                      Code:
                      ; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
                      ; NOTE: Using short tags should be avoided when developing applications or
                      ; libraries that are meant for redistribution, or deployment on PHP
                      ; servers which are not under your control, because short tags may not
                      ; be supported on the target server. For portable, redistributable code,
                      ; be sure not to use short tags.
                      short_open_tag = On
                      
                      ; Allow ASP-style <% %> tags.
                      asp_tags = Off
                      Natürlich muss bei short_open_tag = Off das Open-Tag <?php lauten, nur mit <? geht es nicht, was du ja auch eingesehen hast, dann wette aber nicht Stein und Bein darauf, dass es auch mit <? und short_open_tag = Off funktioniert, auf solche Späße hab ich um 2 Uhr nachts keine Lust mehr

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        Sorry, aber das Thema ist für mich gegessen, ich weiss jetzt wo der Fehler lag und gut is.

                        cu.
                        www.tocrazy4u.de

                        Kommentar


                        • #13
                          wie fährts denn euch?

                          meine güte... regt euch nicht so künstlich auf!

                          auf nem IIS kann schon sein, dass das innerhalb von HTML geht...
                          ihr habt sicher alle Apache am laufen oder?
                          www.omega2k.de

                          Kommentar


                          • #14
                            Re: wie fährts denn euch?

                            Original geschrieben von Omega2k
                            auf nem IIS kann schon sein, dass das innerhalb von HTML geht...
                            ihr habt sicher alle Apache am laufen oder?
                            de facto ist das php immer das selbe.
                            Die Skripte laufen doch auf auf IIS und Apache gleich?! Hängt doch nicht vom Webserver ab, ob dein php-Skript richtig interpretiert wird oder nicht...

                            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                            Wie man Fragen richtig stellt

                            Kommentar


                            • #15
                              Hängt doch nicht vom Webserver ab, ob dein php-Skript richtig interpretiert wird oder nicht...
                              ...eben schon:

                              z.b. habe ich ne 64bit .so-datei von php 5.1.1
                              tocrazy hat ne windows-dll von php 5.1.4

                              die unterschiede von apache2 und iis mal ganz zu schweigen...
                              www.omega2k.de

                              Kommentar

                              Lädt...
                              X