PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Verschachteltes PHP (https://www.php-resource.de/forum/php-developer-forum/105498-verschachteltes-php.html)

arden 22-02-2016 18:29

Verschachteltes PHP
 
Hallo,
habe folgendes Problem:

ich möchte den bestehenden Code:

HTML-Code:

<?php _e('Preis', 'theme_front'); ?> <small>(<?php _e('z.B.: zzgl. 19% MwSt.', 'theme_front'); ?>)</small></label> <input type="text" class="text" value="<?php echo esc_attr(nt_check($preis)); ?>" name="preis"  />
in eine IF-ElLSE Abfrage integrieren:

IF ($flag==1) { ---hier soll obiger Code reinkommen --- };
ELSE { bla, bla, bla };

Jedoch gibt dies nur Fehlermeldungen aus. Vermute wegen den im obigen Code vorhandenen Sonderzeichen ' und " bzw. < >

Wie muss ich das ganze korrekt verschachteln bzw. formatieren, damit es funktioniert? :confused:

Vielen Dank für Eure Hilfe!

wahsaga 22-02-2016 18:33

Das dürfte eher daran liegen, dass du <?php einfach übernommen hast, obwohl du dich mit einem if natürlich bereits im PHP-Parser-Bereich befindest.

Grundlagen: PHP: Escaping from HTML - Manual

arden 22-02-2016 18:45

ok, verstehe. Muss dann also das Ganze ohne die "<? php"-Aufrufe einsetzen...

Danke :)

ArneDrews 23-02-2016 17:22

Hallo,

Ganz so einfach wirds nicht.
Ich empfehle Dir, Deine Ausgabe zuvor in einem String abzulegen und diesen an gegebener Stelle auszugeben.
Alles andere ist viel zu viel gewurste und Hin- und Her-Gespringe für den Interpreter

mermshaus 24-02-2016 13:26

Wobei das an der Stelle Template-Code zu sein scheint. Da ist es nicht ungewöhnlich, ständig zu springen.

Vielleicht wäre es daher auch sinnvoll, die alternative Syntax für Kontrollstrukturen zu nutzen:

- PHP: Alternative syntax for control structures - Manual

PHP-Code:

<?php if () : ?>
    <?php _e('Preis''theme_front'); ?>
    <small>(<?php _e('z.B.: zzgl. 19% MwSt.''theme_front'); ?>)</small>
    </label>
    <input type="text" class="text" value="<?php echo esc_attr(nt_check($preis)); ?>" name="preis"  />
<?php else : ?>
    ...
<?php endif; ?>

Ist letztlich aber keine funktionale Frage, sondern mehr ne „optische“ Sache.

String-Zusammenbau geht natürlich auch.

ArneDrews 24-02-2016 13:38

Hallo,

Für Template-Code in dem Sinne halte ich das nicht, denn wenn ich Templates nutze wird i.d.R. kein Code im Template ausgeführt, sondern das Template an sich gerendert und die darin verbastelten Templates-Codes über Controller während dessen ausgeführt.

Ich sehe da keinen Grund hin- und her zu springen.

Gruß Arne

mermshaus 24-02-2016 14:05

Das ist wahrscheinlich eine Variante des „PHP als Templatesprache“-Stils, den beispielsweise auch das Zend Framework standardmäßig nutzt.

- Beispiel: Database and models ? Zend Framework 2 2.4.8 documentation - Zend Framework (zweiter Codeblock in dem Abschnitt)

ArneDrews 24-02-2016 14:29

Puha... Die machen das wirklich... :rolleyes:


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:00 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG