如何回应' include_once'在html中

时间:2017-11-05 05:47:14

标签: php

我们说我的文件是这样的:

    <?php 
if(isset($_GET['cat_id'])){
    $cat_id = $_GET['cat_id'];
    $get_cat_pro = "select * from products where cat_id='$cat_id'";
    $run_cat_pro = mysqli_query($con,$get_cat_pro);
    while($row_cat_pro=mysqli_fetch_array($run_cat_pro)){
        $pro_id = $row_cat_pro['product_id'];
        $pro_title = $row_cat_pro['product_title'];
        $pro_cat = $row_cat_pro['cat_id'];
        $pro_brand = $row_cat_pro['brand_id'];
        $pro_desc = $row_cat_pro['product_desc'];
        $pro_price = $row_cat_pro['product_price'];
        $pro_image = $row_cat_pro['product_img1'];

        echo "
        <section>
            <div class='container'>
                <div class='row'>
                    "include_once 'php/includes/overall/widget.php'"

                    <div class='col-sm-9 padding-right'>
                        <div class='features_items'><!--features_items-->
                            <h2 class='title text-center'>Products</h2>

                            <ul class='pagination'>
                                <li class='active'><a href="">1</a></li>
                                <li><a href=''>2</a></li>
                                <li><a href=''>3</a></li>
                                <li><a href=''>&raquo;</a></li>
                            </ul>
                        </div><!--features_items-->
                    </div>
                </div>
            </div>
        </section>
        ";
    }
}
?>

在这个文件中,我想要回显一个include_once命令但是我不知道在回显一些html文本时这样做的正确方法..所以我也得到了这个错误信息:< / p>

  

解析错误:语法错误,意外&#39; include_once&#39; (T_INCLUDE_ONCE),期待&#39;,&#39;或&#39;;&#39;第19行

第19行是这样的:

"include_once 'php/includes/overall/widget.php'"

那么如何解决这个问题?

4 个答案:

答案 0 :(得分:0)

尝试以下方法......

因为您使用"启动了回音,因此您无法在其中使用",只能在回音结束时或当您使用"时再次使用...ss='row'>" . include_once ('php/includes/overall/widget.php'); ."<div clas... 。将它连接到另一个字符串。

正如您所看到的,我通过使用这样的句点来连接它:

    <?php 
if(isset($_GET['cat_id'])){
    $cat_id = $_GET['cat_id'];
    $get_cat_pro = "select * from products where cat_id='$cat_id'";
    $run_cat_pro = mysqli_query($con,$get_cat_pro);
    while($row_cat_pro=mysqli_fetch_array($run_cat_pro)){
        $pro_id = $row_cat_pro['product_id'];
        $pro_title = $row_cat_pro['product_title'];
        $pro_cat = $row_cat_pro['cat_id'];
        $pro_brand = $row_cat_pro['brand_id'];
        $pro_desc = $row_cat_pro['product_desc'];
        $pro_price = $row_cat_pro['product_price'];
        $pro_image = $row_cat_pro['product_img1'];

        echo "
        <section>
            <div class='container'>
                <div class='row'>".

                    include_once ('php/includes/overall/widget.php');


                    ."<div class='col-sm-9 padding-right'>
                        <div class='features_items'><!--features_items-->
                            <h2 class='title text-center'>Products</h2>

                            <ul class='pagination'>
                                <li class='active'><a href="">1</a></li>
                                <li><a href=''>2</a></li>
                                <li><a href=''>3</a></li>
                                <li><a href=''>&raquo;</a></li>
                            </ul>
                        </div><!--features_items-->
                    </div>
                </div>
            </div>
        </section>
        ";
    }
}

&#13;
&#13;
package ID_Count_Hashed_Map is new Ada.Containers.Hashed_Maps
  (Key_Type        => ID,
   Element_Type    => Count,
   Hash            => Hash,
   Equivalent_Keys => "=");
&#13;
&#13;
&#13;

答案 1 :(得分:0)

echo "
        <section>
            <div class='container'>
                <div class='row'>";

                 include_once 'php/includes/overall/widget.php';

                echo " <div class='col-sm-9 padding-right'>
                        <div class='features_items'><!--features_items-->
                            <h2 class='title text-center'>Products</h2>

                            <ul class='pagination'>
                                <li class='active'><a href="">1</a></li>
                                <li><a href=''>2</a></li>
                                <li><a href=''>3</a></li>
                                <li><a href=''>&raquo;</a></li>
                            </ul>
                        </div><!--features_items-->
                    </div>
                </div>
            </div>
        </section>
        ";

答案 2 :(得分:0)

如果要进入PHP上下文,则必须在HTML中添加<?php ?>标记。在这里,您使用echo从PHP输出HTML,并要求再次执行PHP。如果您希望HTML切换到PHP以执行include_once,则必须再次放置标记。在您的代码中,include_once被视为HTML,这是不正确的,因此是错误。

但是对于那些需要PHP的echos HTML而言,它有点疯狂。那么为什么不简单地退出PHP上下文输出你的html,然后重新进入include_once?

像这样:

<?php 
if(isset($_GET['cat_id']))
{
    $cat_id = $_GET['cat_id'];
    $get_cat_pro = "select * from products where cat_id='$cat_id'";
    $run_cat_pro = mysqli_query($con,$get_cat_pro);
    while($row_cat_pro=mysqli_fetch_array($run_cat_pro))
    {
        $pro_id = $row_cat_pro['product_id'];
        $pro_title = $row_cat_pro['product_title'];
        $pro_cat = $row_cat_pro['cat_id'];
        $pro_brand = $row_cat_pro['brand_id'];
        $pro_desc = $row_cat_pro['product_desc'];
        $pro_price = $row_cat_pro['product_price'];
        $pro_image = $row_cat_pro['product_img1'];
        ?>

        <section>
            <div class='container'>
                <div class='row'>
                    <?php include_once('php/includes/overall/widget.php'); ?>

                    <div class='col-sm-9 padding-right'>
                        <div class='features_items'><!--features_items-->
                            <h2 class='title text-center'>Products</h2>

                            <ul class='pagination'>
                                <li class='active'><a href="">1</a></li>
                                <li><a href=''>2</a></li>
                                <li><a href=''>3</a></li>
                                <li><a href=''>&raquo;</a></li>
                            </ul>
                        </div><!--features_items-->
                    </div>
                </div>
            </div>
        </section>

        <?php
    }
}
?>

答案 3 :(得分:0)

首先,由于您想要回显多行字符串,我使用Heredoc

您可以使用fread()。这是一个例子。

    $str = fread(fopen('php/includes/overall/widget.php', 'a+'), filesize('php/includes/overall/widget.php'));
    echo "
         ALL YOUR HTML
         {$str}
         SOME MORE HTML";