首頁 >後端開發 >php教程 >子函數被呼叫後沒有頁面輸出

子函數被呼叫後沒有頁面輸出

WBOY
WBOY原創
2016-08-04 09:21:501274瀏覽

自己寫了一個A函數,呼叫了B函數來輸出一段html。但發現只要B函數被調用,這段html並不會輸出在頁面。
如果將​​這段html直接copy到A函數內部,同時屏蔽掉B函數的調用,則html會輸出。
到底哪裡出問題了呢?

A函數代碼:

<code>public static function cartbinet_display_setting_html_page() {
    echo '<div class="wrap">';
    
    /*display xml data*/
    //$xmlfile = plugins_url( 'cartbinet-server/data/cartbinets.xml' );
    //$xml = simplexml_load_file($xmlfile);
    //var_dump($xmlfile);
    //var_dump($xml);
    //cartbinet_display_xml_data($xml);
    
    /*display setting content*/
    cartbinet_display_setting_page();
<?php        
    echo '</div>';
} 
</code>

B函數為:

<code>public static function cartbinet_display_setting_page( ) {
    ?>
        <h2>Set Copyright</h2>   
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  

            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  

            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  

                <input type="submit" value="Save" class="button-primary" />  
            </p>
        </form>  
    <?php  
    } </code>

回覆內容:

自己寫了一個A函數,呼叫了B函數來輸出一段html。但發現只要B函數被調用,這段html並不會輸出在頁面。
如果將​​這段html直接copy到A函數內部,同時屏蔽掉B函數的調用,則html會輸出。
到底哪裡出問題了呢?

A函數碼:

<code>public static function cartbinet_display_setting_html_page() {
    echo '<div class="wrap">';
    
    /*display xml data*/
    //$xmlfile = plugins_url( 'cartbinet-server/data/cartbinets.xml' );
    //$xml = simplexml_load_file($xmlfile);
    //var_dump($xmlfile);
    //var_dump($xml);
    //cartbinet_display_xml_data($xml);
    
    /*display setting content*/
    cartbinet_display_setting_page();
<?php        
    echo '</div>';
} 
</code>

B函數為:

<code>public static function cartbinet_display_setting_page( ) {
    ?>
        <h2>Set Copyright</h2>   
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  

            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  

            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  

                <input type="submit" value="Save" class="button-primary" />  
            </p>
        </form>  
    <?php  
    } </code>

這樣子寫不報錯?,我試試先...

好吧!真沒報錯!

<code><?php 

class Tpl {
  static function show() {
      echo "?:";
  ?>
    why?
  <?php 
  
  }
}

Tpl::show();</code>

你這裡是方法 應該slef::method,$this->method $obj->method的吧?

你B函數沒return 也沒echo

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn