Daniel Tschida: Problem: Einbinden von HTML-Code & Variablen

Hallo SelfHTML-User,

ich habe 2 Probleme bzw. Fragen und hoffe, dass Ihr mir weiterhelfen könnt.

  1. Wie kann ich in PHP einen mehrzeiligen HTML-Code ausgeben, ohne Sonderzeichen (Anführungszeichen) konvertieren und zu Beginn jeder Zeile eine print/echo-Anweisung schreiben muss? In Perl gibt es folgende Funktion:
     print qq~
      ...HTML-Code mit Perl-Variablen etc...
     ~;
    Gibt es soetwas ähnliches auch für PHP?

  2. Ich habe 3 Dateien (settings.php, index.php, functions.php). In der index.php lese ich die in den settings.php global deklarierten Variablen ein. Anschließend lese ich die functions.php ein und rufe dort eine Funktion auf. Problem: Das Programm kennt ausschließlich die Variablen, die ich ihm übergebe. Variablen aus den Settings, die global gelten soll, kennt es nicht. Es scheint keinen Unterschied zu machen, ob ich require() oder include() verwende. Wer kann mir helfen?

Vielen Dank

MfG
Daniel Tschida

  1. Hallo Daniel,

    1. Wie kann ich in PHP einen mehrzeiligen HTML-Code
      ausgeben, ohne Sonderzeichen (Anführungszeichen)
      konvertieren und zu Beginn jeder Zeile eine
      print/echo-Anweisung schreiben muss?

    echo <<<HTML
    blahr blub blahr
    HTML;

    <?php

    php-code;

    while(1) {
    ?>

    blahr blub <?php echo $var; ?> blahr

    <?php
    }
    ?>

    In Perl gibt es folgende Funktion:

    Es ist ein Operator, keine Funktion ;) ein Quoting-Operator.

    print qq~
      ...HTML-Code mit Perl-Variablen etc...
    ~;
    Gibt es soetwas ähnliches auch für PHP?

    Nein. PHP kennt nur sehr wenige Operatoren. Der Rest wird
    ueber Funktionen gehandhabt.

    1. Ich habe 3 Dateien (settings.php, index.php,
      functions.php). In der index.php lese ich die in den
      settings.php global deklarierten Variablen ein.
      Anschließend lese ich die functions.php ein und rufe dort
      eine Funktion auf. Problem: Das Programm kennt
      ausschließlich die Variablen, die ich ihm übergebe.
      Variablen aus den Settings, die global gelten soll, kennt
      es nicht. Es scheint keinen Unterschied zu machen, ob ich
      require() oder include() verwende. Wer kann mir helfen?

    Du sagst dem Interpreter aber schon ueber das Keyword
    "global" (http://www.php.net/manual/de/language.variables.scope.php), dass die Variablen global sind?

    Gruesse,
     CK

  2. Hallo,

    1. Wie kann ich in PHP einen mehrzeiligen HTML-Code ausgeben, ohne Sonderzeichen (Anführungszeichen) konvertieren und zu Beginn jeder Zeile eine print/echo-Anweisung schreiben muss?

    echo <<<END
    blablabla $var
    blabla
    END;

    http://www.php.net/manual/de/function.echo.php

    1. [...] Das Programm kennt ausschließlich die Variablen, die ich ihm übergebe. Variablen aus den Settings, die global gelten soll, kennt es nicht.

    Wenn du globale Variablen in Funktionen verwenden willst, mußt sie dort vorher explizit global machen.

    $xyz = "abc";

    function foo() {
     global $xyz;
     echo $xyz;
    }

    http://www.php.net/manual/de/language.variables.scope.php

    Gruß, Jan

  3. Hallo zusammen,

    danke für eure Hilfe...

    MfG