如何在php内的html中编写php?

时间:2013-11-27 08:22:12

标签: php html parsing escaping

我最近问了这个问题,但是我没有得到直接答案,而是通过用变量代替我的html中的if语句来展示如何使用三元运算符来简化我的代码,我赞赏并投入使用 - 但是这也导致其他代码难以阅读,最终没有教会我在类似下面的代码中正确地转义/解析php。

所以我想要一个简单的“显示并告诉”如何解析以下代码,谢谢:

<?php
if (!isset($_POST['myform'])) {
  echo

<form method="POST" action="<?php if (isset($myform_worked)) { echo 'somepath'; } ?>" accept-charset="UTF-8">

这是我尝试过的,但上面的行不解析:

<?php
if (!isset($_POST['myform'])) {
  echo

'<form method="POST" action="'<?php if (isset($myform_worked)) { echo 'somepath'; } ?>'" accept-charset="UTF-8">'

我也尝试过(在php内部使用双引号:

"<?php if (isset($myform_worked)) { echo 'somepath'; } ?>"

请显示这个小节如何做到这一点,谢谢。我不在乎上面的代码是不是很糟糕...我只需要学习如何在PHP里面的html中转义/解析php,谢谢。

4 个答案:

答案 0 :(得分:1)

在进入HTML模式之前忘了关闭PHP标记。

答案 1 :(得分:1)

你没有事先关闭打开的php-block。工作语法是这样的:

<?php
//php code
?>
<!--HTML-Code-->
<?php
?>

或根据您的问题:

<?php
if (!isset($_POST['myform'])) {
?>

<form method="POST" action="<?php if (isset($myform_worked)) { echo 'somepath'; } ?>" accept-charset="UTF-8">

<?php } //if-closing bracket ?>

答案 2 :(得分:0)

你可以试试这个,在php里面。在php页面中,在html标签内添加php代码看起来像<?php //your php code here ?>

         <?php
         if (!isset($_POST['myform'])) {
              echo '<form method="POST" action="'.isset($myform_worked)?'somepath':''.'" accept-charset="UTF-8">';
          }
         ?>

HTML + PHP

   <?php if (!isset($_POST['myform'])) { ?>
      <form method="POST" action="<?php if (isset($myform_worked)) { echo 'somepath'; } ?>" accept-charset="UTF-8">
  <?php } ?>

答案 3 :(得分:-2)

<?php echo "hello world";?>

或简写

<?="hello world"?>